新書推薦:
《
锂电储能产品设计及案例详解
》
售價:HK$
113.9
《
首辅养成手册(全三册)(张晚意、任敏主演古装剧《锦绣安宁》原著小说)
》
售價:HK$
124.2
《
清洁
》
售價:HK$
66.7
《
组队:超级个体时代的协作方式
》
售價:HK$
79.4
《
第十三位陪审员
》
售價:HK$
55.2
《
微观经济学(第三版)【2024诺贝尔经济学奖获奖者作品】
》
售價:HK$
159.9
《
Python贝叶斯深度学习
》
售價:HK$
91.8
《
文本的密码:社会语境中的宋代文学
》
售價:HK$
69.0
|
編輯推薦: |
不留遗漏:全面覆盖Dubbo核心知识点;
直击要害:实战化案例精准定位技术细节;
学以致用:精要式演示确保开发、学习不脱节;
潜移默化:研磨式知识讲解渗透技术要点;
提升效率:垂直式技术精讲不饶弯路;
循序提升:渐进式知识点编排确保连贯,
配套资源:赠送全书案例源文件助力学习。
|
內容簡介: |
本教程详细介绍了ZooKeeper Dubbo 3联合开发时的高频实战技能,包含ZooKeeper的数据模型、Watch观察者机制、服务器角色、领导选举、ZAB协议、ZooKeeper架构、节点类型、ZooKeeper运用场景、搭建单机和主从环境、常用的Command命令、ACL授权、配额等高频使用技术点。在Dubbo 3章节中详细介绍了单体/水平集群/垂直集群/SOA架构的发展历程、CAP理论、Dubbo特性、RPC原理、Dubbo中的五大核心组件、直连提供者、隐式参数、服务分组、多版本、启动时检查、令牌验证、超时和线程池大小、Nacos注册中心、服务提供者集群、集群容错、负载均衡等实用技能。
读者通过阅读《ZooKeeper Dubbo 3分布式高性能RPC通信》并结合实际代码的训练,完全可以自行开发基于RPC技术的应用系统,为进一步学习和工作打下良好的技术基础。
|
關於作者: |
高洪岩,微软中国项目经理,有10年Java开发和项目管理经验,精通Java语言,擅长Java EE、分布式、微服务、高性能服务器架构、智能报表、多线程和高并发相关的技术内容。曾出版《Java多线程编程核心技术》《Java并发编程:核心方法与框架》《NIO与Socket编程技术指南》《Java EE核心框架实战第2版》《Jasper Reports iReport报表开发详解》《Android学习精要》《虚拟化高性能NoSQL存储案例精粹Redis Docker》等图书。
|
目錄:
|
第 1 章 ZooKeeper核心理论 1
1.1 ZooKeeper的介绍 2
1.2 ZooKeeper的数据模型和Watch观察
机制 3
1.3 ZooKeeper中的角色:Leader领导者/
Follower跟随者 6
1.4 ZooKeeper为什么要进行选举 6
1.5 Paxos算法和ZAB协议简介 7
1.6 ZooKeeper选举的算法 7
1.7 为什么建议服务器个数为奇数 9
1.8 ZooKeeper的特点 10
1.9 使用ZooKeeper的架构 10
1.10 znode节点类型 12
1.11 ZooKeeper的运用场景 13
1.12 ZooKeeper的五点保证 13
1.13 简单的API 13
第 2 章 搭建ZooKeeper单机运行
环境 14
2.1 下载ZooKeeper 15
2.2 创建zoo.cfg配置文件 16
2.3 核心配置选项tickTime、dataDir、
clientPort的解释 18
2.4 启动ZooKeeper服务 18
2.5 连接ZooKeeper服务 20
2.6 停止ZooKeeper服务 21
2.7 查看ZooKeeper服务状态 21
2.8 查看ZooKeeper所有命令 22
2.9 使用create命令创建znode节点 23
2.10 使用ls命令查看所有子节点 25
2.11 使用get命令查看节点对应的值 26
2.12 使用set命令对节点设置新值 27
2.13 使用delete命令删除节点 29
第 3 章 搭建ZooKeeper主从运行
环境 31
3.1 配置选项initLimit和syncLimit的
解释 32
3.2 创建myid文件及更改cfg配置文件 33
3.3 启动每个ZooKeeper实例 35
3.4 向Leader中存数据及从Follower中取
数据 36
3.5 获取ZooKeeper实例的角色 37
3.6 命令sync的使用 38
第 4 章 ZooKeeper常见命令和Curator
的使用 39
4.1 命令create [-s] [-e] [-c] [-t ttl] path
[data] [acl]和get [-s] [-w] path的
使用 40
4.2 命令deleteall的使用 57
4.3 命令close的使用 59
4.4 命令connect host:port的使用 60
4.5 命令getAcl [-s] path的使用与验证
方式 61
4.6 设置认证方式与授权 64
4.7 命令quit的使用 77
4.8 配额的使用 77
4.9 命令history的使用 84
4.10 命令redo cmdno的使用 84
4.11 命令set [-s] [-v version] path data的
使用:根据version实现乐观锁 85
4.12 命令delete [-v version] path的使用:
根据version版本号删除 88
4.13 命令get [-s] [-w] path的使用:使用
watch监控数据变化 90
4.14 命令printwatches on|off的使用 92
4.15 命令ls [-s] [-w] [-R] path的使用:
使用-w参数只监控子节点变化 93
4.16 命令ls [-s] [-w] [-R] path的使用:
使用-R参数取出所有子和子孙节点 96
4.17 命令ls [-s] [-w] [-R] path的使用:
使用-s参数取出节点的状态数据 96
4.18 命令stat [-w] path的使用 98
4.19 命令removewatches path [-c|-d|-a] [-l]
的使用 99
4.20 自实现递归watch的效果 103
4.21 命令whoami的使用 107
4.22 命令version的使用 107
4.23 命令getAllChildrenNumber path的
使用 107
4.24 命令getEphemerals path的使用 108
第 5 章 软件技术架构的发展 109
5.1 单体架构 110
5.2 水平集群架构 111
5.3 垂直集群架构 112
5.4 SOA架构 113
5.5 微服务架构 115
5.6 CAP理论 117
第 6 章 Dubbo介绍 120
6.1 Dubbo介绍 121
6.2 使用服务注册和服务发现的必要性 130
第 7 章 Dubbo实战技能 132
7.1 创建my-parent父模块 133
7.2 创建my-api模块 136
7.3 使用ZooKeeper作为注册中心实现RPC
通信 139
7.4 直连提供者 150
7.5 隐式参数 157
7.6 服务分组 164
7.7 多版本 172
7.8 启动时检查 180
7.9 令牌验证 189
7.10 超时和线程池大小 197
7.11 Nacos
介绍 208
7.12 搭建Nacos单机运行环境 211
7.13 使用Nacos作为注册中心实现RPC
通信 215
7.14 结合ZooKeeper注册中心集群 222
第 8 章 Dubbo高级技能 229
8.1 服务提供者集群 230
8.2 集群容错 237
8.3 负载均衡 263
|
內容試閱:
|
全面观察市面上所有关于Dubbo内容的书籍,系统的讲解Dubbo实战应用的很少,大部分都是介绍Dubbo的内部原理和源代码的分析,这样的书籍内容很明显就把具有5年以下开发经验的那些想进一步扩展实战技术的潜在型学习者拒之门外。他们如果想学习ZooKeeper Dubbo 3,只有在互联网上以零散找寻资料的方式进行学习,这样的学习效率或者说学习方式是容易出现问题的,为了解决这类学习者的困扰,笔者通过自身实际的开发经验及对技术的理解整理出此书,如果您有缘看到此书,也是对我努力的一种回馈,希望它能帮到您。
本书在写作过程中本着“案例为王”的态度来整理文稿,每个技术案例都是一个完整的DEMO,不会出现把一个DEMO分解成若干片段,再把这些片段分布到不同的章节而影响读者的阅读体验,读者只需要把学习精力聚焦到当前的章节,因为一个章节解决一个技术问题。
本书各章节技术点讲解安排如下。
(1)第1章:主要讲解ZooKeeper的相关原理,比如数据模型,Watch观察者机制,ZooKeeper服务的角色,选举的必要性,ZAB协议的特性,选举的算法,ZooKeeper架构,节点类型,常用API的使用等必备技术点。
(2)第2章:主要讲解搭建ZooKeeper单机运行环境,比如配置选项tickTime、dataDir、clientPort的解释,启动/连接/停止/查看ZooKeeper服务,创建节点和查看子节点,获得节点value,删除节点等常用节点操作。
(3)第3章:主要讲解搭建ZooKeeper主从运行环境,包含zoo cfg配置文件核心参数的介绍,实现主从复制,获得实例角色等。
(4)第4章:使用大量篇幅讲解ZooKeeper的常用命令,命令覆盖率达到90%,并且几乎所有涉及的命令参数都进行了案例式的介绍。Command命令是ZooKeeper的核心技术,所以笔者为此章花费了很多精力,目的就是让读者全面掌握ZooKeeper,从而打下一个坚实的技术基础,读者一定要重视此章的技术学习。
(5)第5章:主要讲解软件技术架构的发展,因为在学习Dubbo技术之前,一定要了解这些技术历史脉络,理解旧技术为什么被淘汰,而新技术为什么被推崇的原因,只有认识到这些优劣势,才能更好地学习和应用Dubbo。
(6)第6章:主要介绍Dubbo框架周边的技术常识,比如Dubbo是什么,有哪些关键特性,Dubbo发展历程,什么是RPC及其内部的原理,Dubbo中的五大核心组件,服务注册和服务发现的作用,这些知识点都是面试时被问到的高频技术问题,理解的深浅决定了对Dubbo认识的高低。
(7)第7章:主要介绍Dubbo的实战技术,包含直连提供者、隐式参数、服务分组、多版本、启动时检查、令牌验证、超时和线程池大小、Nacos注册中心等高频使用点,这些内容都是真实软件项目中被高频使用的,对于能否使用Dubbo熟练地开发基于RPC的分布式软件项目,本章起到决定性的作用。
(8)第8章:主要介绍Dubbo的高级技术,围绕Dubbo的高可用架构来展开,包含服务提供者集群、集群容错、负载均衡等实用技能。
本书以笔者的角度尽全力列举出更多的实用案例,但由于自身技术水平有限,难免有错误和不是之处,还请各位读者一一指正,共同进步。
在书稿的编写过程中,本着“严谨,不乐观,试错,手勤”的学习技术的态度,写作不易,在此也非常感谢北京大学出版社魏雪萍主任的支持和信任,以及所有的编辑,感谢你们对此书付出的努力和帮助。另外也感谢我的父母、爱人,还有3岁多可爱的儿子,是你们承担了本该我承担的家庭责任,让我有更多的精力和时间奔赴在技术的道路上,感谢你们。
编者
2022年7月
|
|