ZooKeeper + Dubbo3 分佈式高性能 RPC 通信

高洪岩

  • 出版商: 北京大學
  • 出版日期: 2022-10-01
  • 定價: $534
  • 售價: 8.5$454
  • 語言: 簡體中文
  • 裝訂: 平裝
  • ISBN: 7301333927
  • ISBN-13: 9787301333921
  • 相關分類: zookeeper
  • 立即出貨 (庫存 < 4)

買這商品的人也買了...

商品描述

本教程詳細介紹了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
......