ZooKeeper+Dubbo 3分布式高性能RPC通信
定 價:89 元
- 作者:高洪巖
- 出版時間:2022/10/1
- ISBN:9787301333921
- 出 版 社:北京大學出版社
- 中圖法分類:TP316.4
- 頁碼:292
- 紙張:
- 版次:1
- 開本:16開
本教程詳細介紹了ZooKeeper + Dubbo 3聯(lián)合開發(fā)時的高頻實戰(zhàn)技能,包含ZooKeeper的數(shù)據(jù)模型、Watch觀察者機制、服務器角色、領導選舉、ZAB協(xié)議、ZooKeeper架構、節(jié)點類型、ZooKeeper運用場景、搭建單機和主從環(huán)境、常用的Command命令、ACL授權、配額等高頻使用技術點。在Dubbo 3章節(jié)中詳細介紹了單體/水平集群/垂直集群/SOA架構的發(fā)展歷程、CAP理論、Dubbo特性、RPC原理、Dubbo中的五大核心組件、直連提供者、隱式參數(shù)、服務分組、多版本、啟動時檢查、令牌驗證、超時和線程池大小、Nacos注冊中心、服務提供者集群、集群容錯、負載均衡等實用技能。
讀者通過閱讀本書并結合實際代碼的訓練,完全可以自行開發(fā)基于RPC技術的應用系統(tǒng),為進一步學習和工作打下良好的技術基礎。
高洪巖,微軟中國項目經(jīng)理,有10年Java開發(fā)和項目管理經(jīng)驗,精通Java語言,擅長Java EE、分布式、微服務、高性能服務器架構、智能報表、多線程和高并發(fā)相關的技術內(nèi)容。曾出版《Java多線程編程核心技術》《Java并發(fā)編程:核心方法與框架》《NIO與Socket編程技術指南》《Java EE核心框架實戰(zhàn)第2版》《Jasper Reports+iReport報表開發(fā)詳解》《Android學習精要》《虛擬化高性能NoSQL存儲案例精粹Redis+Docker》等圖書。
第 1 章 ZooKeeper核心理論 1
1.1 ZooKeeper的介紹 2
1.2 ZooKeeper的數(shù)據(jù)模型和Watch觀察
機制 3
1.3 ZooKeeper中的角色:Leader領導者/
Follower跟隨者 6
1.4 ZooKeeper為什么要進行選舉 6
1.5 Paxos算法和ZAB協(xié)議簡介 7
1.6 ZooKeeper選舉的算法 7
1.7 為什么建議服務器個數(shù)為奇數(shù) 9
1.8 ZooKeeper的特點 10
1.9 使用ZooKeeper的架構 10
1.10 znode節(jié)點類型 12
1.11 ZooKeeper的運用場景 13
1.12 ZooKeeper的五點保證 13
1.13 簡單的API 13
第 2 章 搭建ZooKeeper單機運行
環(huán)境 14
2.1 下載ZooKeeper 15
2.2 創(chuàng)建zoo.cfg配置文件 16
2.3 核心配置選項tickTime、dataDir、
clientPort的解釋 18
2.4 啟動ZooKeeper服務 18
2.5 連接ZooKeeper服務 20
2.6 停止ZooKeeper服務 21
2.7 查看ZooKeeper服務狀態(tài) 21
2.8 查看ZooKeeper所有命令 22
2.9 使用create命令創(chuàng)建znode節(jié)點 23
2.10 使用ls命令查看所有子節(jié)點 25
2.11 使用get命令查看節(jié)點對應的值 26
2.12 使用set命令對節(jié)點設置新值 27
2.13 使用delete命令刪除節(jié)點 29
第 3 章 搭建ZooKeeper主從運行
環(huán)境 31
3.1 配置選項initLimit和syncLimit的
解釋 32
3.2 創(chuàng)建myid文件及更改cfg配置文件 33
3.3 啟動每個ZooKeeper實例 35
3.4 向Leader中存數(shù)據(jù)及從Follower中取
數(shù)據(jù) 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的
使用:根據(jù)version實現(xiàn)樂觀鎖 85
4.12 命令delete [-v version] path的使用:
根據(jù)version版本號刪除 88
4.13 命令get [-s] [-w] path的使用:使用
watch監(jiān)控數(shù)據(jù)變化 90
4.14 命令printwatches on|off的使用 92
4.15 命令ls [-s] [-w] [-R] path的使用:
使用-w參數(shù)只監(jiān)控子節(jié)點變化 93
4.16 命令ls [-s] [-w] [-R] path的使用:
使用-R參數(shù)取出所有子和子孫節(jié)點 96
4.17 命令ls [-s] [-w] [-R] path的使用:
使用-s參數(shù)取出節(jié)點的狀態(tài)數(shù)據(jù) 96
4.18 命令stat [-w] path的使用 98
4.19 命令removewatches path [-c|-d|-a] [-l]
的使用 99
4.20 自實現(xiàn)遞歸watch的效果 103
4.21 命令whoami的使用 107
4.22 命令version的使用 107
4.23 命令getAllChildrenNumber path的
使用 107
4.24 命令getEphemerals path的使用 108
第 5 章 軟件技術架構的發(fā)展 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 使用服務注冊和服務發(fā)現(xiàn)的必要性 130
第 7 章 Dubbo實戰(zhàn)技能 132
7.1 創(chuàng)建my-parent父模塊 133
7.2 創(chuàng)建my-api模塊 136
7.3 使用ZooKeeper作為注冊中心實現(xiàn)RPC
通信 139
7.4 直連提供者 150
7.5 隱式參數(shù) 157
7.6 服務分組 164
7.7 多版本 172
7.8 啟動時檢查 180
7.9 令牌驗證 189
7.10 超時和線程池大小 197
7.11 Nacos
介紹 208
7.12 搭建Nacos單機運行環(huán)境 211
7.13 使用Nacos作為注冊中心實現(xiàn)RPC
通信 215
7.14 結合ZooKeeper注冊中心集群 222
第 8 章 Dubbo高級技能 229
8.1 服務提供者集群 230
8.2 集群容錯 237
8.3 負載均衡 263