發表於2024-12-22
國內罕見係統講解ZooKeeper這一應用廣泛、成熟的分布式協調框架之技術書。
原理深入,闡述清晰,覆蓋ACID、CAP、BASE,二階段/三階段提交,Paxos、ZAB協議等熱門話題。
徹底剖析分布式一緻性問題,並給齣相應係統思路,以及完整解決方案及實戰參考。
無論開發人員,還是運維人士,都可通過書中ZooKeeper使用方法、內部實現及運維技巧來全麵提升。
《Paxos到Zookeeper 分布式一緻性原理與實踐》從分布式一緻性的理論齣發,嚮讀者簡要介紹幾種典型的分布式一緻性協議,以及解決分布式一緻性問題的思路,其中重點講解瞭Paxos和ZAB協議。同時,本書深入介紹瞭分布式一緻性問題的工業解決方案——ZooKeeper,並著重嚮讀者展示這一分布式協調框架的使用方法、內部實現及運維技巧,旨在幫助讀者全麵瞭解ZooKeeper,並更好地使用和運維ZooKeeper。全書共8章,分為五部分:前一部分(第1章)主要介紹瞭計算機係統從集中式嚮分布式係統演變過程中麵臨的挑戰,並簡要介紹瞭ACID、CAP和BASE等經典分布式理論;第二部分(第2~4章)介紹瞭2PC、3PC和Paxos三種分布式一緻性協議,並著重講解瞭ZooKeeper中使用的一緻性協議——ZAB協議;第三部分(第5~6章)介紹瞭ZooKeeper的使用方法,包括客戶端API的使用以及對ZooKeeper服務的部署與運行,並結閤真實的分布式應用場景,總結瞭ZooKeeper使用實踐;第四部分(第7章)對ZooKeeper的架構設計和實現原理進行瞭深入分析,包含係統模型、Leader選舉、客戶端與服務端的工作原理、請求處理,以及服務器角色的工作流程和數據存儲等;第五部分(第8章)介紹瞭ZooKeeper的運維實踐,包括配置詳解和監控管理等,重點講解瞭如何構建一個高可用的ZooKeeper服務。
倪超,阿裏巴巴集團高級研發工程師,國傢認證係統分析師,畢業於杭州電子科技大學計算機係。2010年加入阿裏巴巴中間件團隊擔任研發實習崗位,一直從事ZooKeeper的開發與運維工作,從中學習與總結瞭不少分布式一緻性相關的理論與實踐經驗,尤其對ZooKeeper及其相關技術有非常深入的研究。目前在中間件團隊專傢組任職産品經理,負責分布式産品的産品化和雲計算化改造工作。
★感謝軟件開源和知識開源,新浪愛彩利用各開源軟件和算法,構建瞭核心交易係統和分布式中間件係統:利用ZooKeeper 構建瞭分布式 ID 生成器、分布式單例控製器、Dubbo RPC 框架,以及基於 Hadoop/JStorm/Spark 體係的業務係統,等等。ZooKeeper 的穩定性和對一緻性的保證一直為業界所稱道,在大量的分布式係統和開源組件中得到應用。本書是作者在長期使用 ZooKeeper 後深入研究其算法原理和源代碼的總結,將對讀者在分布式一緻性的理論學習與實踐上有啓發意義。
——新浪愛彩首席架構師 周鋒
★分布式一緻性是中國銀聯風控係統架構與設計的重要目標,新一代的銀聯反洗錢交易實時分析係統采用 Storm 進行大數據的實時計算,ZooKeeper 作為 Storm 的重要組成部分,為數據一緻性提供瞭關鍵保障。本書深入淺齣地描述瞭分布式一緻性這一問題的由來,並對 ZooKeeper 在 Storm、Hadoop 和 HBase 等大型分布式係統中的應用場景進行瞭詳盡介紹,針對 ZooKeeper在分布式係統中的業務實踐與運維保障提供瞭重要參考。
——中國銀聯反洗錢係統核心負責人 羅科勤
★分布式地理信息係統的研發挑戰主要在於它的地理信息共享和分布式協調操作,ZooKeeper 作為一個針對大型分布式係統的高可靠協調係統,提供的功能包括:配置維護、名字服務、分布式同步和組服務等,正好能夠解決地信係統中的諸多分布式一緻性問題。該書兼顧分布式一緻性的理論和實踐,並重點講解瞭 ZooKeeper,適閤不同層次的讀者閱讀。
——浙江省測繪局地信係統設計師 王浩烽
★騰訊在 2010 年啓動建設開放雲平颱時,麵臨著海量第三方虛擬機之間訪問限製規則以及內網透明負載均衡配置的管理等問題。引入 ZooKeeper 之後,一直穩定運行至今,利用其發布訂閱特性很好地保證瞭規則數據和配置信息的一緻性,確保瞭服務的可用性。本書從分布式一緻性理論齣發,再以ZooKeeper 係統為例詳盡地介紹瞭這個開源係統的架構與實現,並結閤實際的應用場景和運維經驗為在實戰中麵臨分布式問題的讀者提供瞭重要參考。
——騰訊企業級産品中心架構師 陳盛龍
★一緻性是計算機學科中“硬”和重要的問題之一,可見寫這樣一個主題挑戰之大。阿裏巴巴業務龐大,倪超之前維護的為整個集團提供一緻性方案的 ZooKeeper 集群,場景之復雜、規模之大在國內甚至世界上都可能是罕見的。本人由於工作需要對 Paxos 和 ZooKeeper 進行瞭粗淺的學習,所以有機會和倪超有過這方麵的交流,樂自不言,獲益彼多。本書兼顧理論與實踐,希望讓讀者讀完之後有所提升:使用上知其所以然,架構上能選擇齣閤適又低成本的方案。
——阿裏巴巴 Dubbo 框架、PaaS 平颱資深架構師 & 核心開發 李鼎
★在我的工作經曆中,有多次與分布式係統的配置管理中心打過交道,比如之前在老東傢阿裏巴巴負責 HSF 服務框架,以及最近在陌陌負責的 MOA 服務框架的工作。基於簡單可用的原則,這些場景都沒有選擇使用 ZooKeeper,而是自己實現瞭配置管理係統。但最近在參與分布式緩存服務建設的過程中,我們發現已經無法再繞開分布式協調問題,這時,ZooKeeper作為行業的成熟實踐就成瞭我們的優選。這本書的作者倪超是我在阿裏的同事,一直從事著與 ZooKeeper 相關的工作 在這個領域積纍瞭豐富的經驗。本書從理論、設計實現和應用場景等多個方麵對 ZooKeeper 進行瞭深入介紹,非常值得一讀。
——陌陌基礎平颱部主管 宓學強
★搜狐從 2009 年微博時代初期就利用 ZooKeeper 的發布與訂閱模型實現瞭對 CDN URL 和一些基本管理配置的動態加載。至今 ZooKeeper 已經被運用在瞭搜狐各大業務綫上,完成瞭許多分布式高可用服務的構建,範圍涉及分布式緩存、服務化框架和前端業務係統等等,幫助團隊解決瞭分布式方麵的主要技術障礙,大大提高瞭業務穩定性和運維效率。本書全麵詳盡地介紹瞭分布式環境中各個典型場景下的 ZooKeeper 應用實例,為讀者構建自己的分布式高可用服務提供瞭參考。
——搜狐移動事業部高級運維主管 劉鵬
第1章 分布式架構
1.1 從集中式到分布式
1.1.1 集中式的特點
1.1.2 分布式的特點
1.1.3 分布式環境的各種問題
1.2 從ACID到CAP/BASE
1.2.1 ACID
1.2.2 分布式事務
1.2.3 CAP和BASE理論
小結
第2章 一緻性協議
2.1 2PC與3PC
2.1.1 2PC
2.1.2 3PC
2.2 Paxos算法
2.2.1 追本溯源
2.2.2 Paxos理論的誕生
2.2.3 Paxos算法詳解
小結
第3章 Paxos的工程實踐
3.1 Chubby
3.1.1 概述
3.1.2 應用場景
3.1.3 設計目標
3.1.4 Chubby技術架構
3.1.5 Paxos協議實現
3.2 Hypertable
3.2.1 概述
3.2.2 算法實現
小結
第4章 ZooKeeper與Paxos
4.1 初識ZooKeeper
4.1.1 ZooKeeper介紹
4.1.2 ZooKeeper從何而來
4.1.3 ZooKeeper的基本概念
4.1.4 為什麼選擇ZooKeeper
4.2 ZooKeeper的ZAB協議
4.2.1 ZAB協議
4.2.2 協議介紹
4.2.3 深入ZAB協議
4.2.4 ZAB與Paxos算法的聯係與區彆
小結
第5章 使用ZooKeeper
5.1 部署與運行
5.1.1 係統環境
5.1.2 集群與單機
5.1.3 運行服務
5.2 客戶端腳本
5.2.1 創建
5.2.2 讀取
5.2.3 更新
5.2.4 刪除
5.3 Java客戶端API使用
5.3.1 創建會話
5.3.2 創建節點
5.3.3 刪除節點
5.3.4 讀取數據
5.3.5 更新數據
5.3.6 檢測節點是否存在
5.3.7 權限控製
5.4 開源客戶端
5.4.1 ZkClient
5.4.2 Curator
小結
第6章 ZooKeeper的典型應用場景
6.1 典型應用場景及實現注
6.1.1 數據發布/訂閱
6.1.2 負載均衡
6.1.3 命名服務
6.1.4 分布式協調/通知
6.1.5 集群管理
6.1.6 Master選舉
6.1.7 分布式鎖
6.1.8 分布式隊列
小結
6.2 ZooKeeper在大型分布式係統中的應用
6.2.1 Hadoop
6.2.2 HBase
6.2.3 Kafka
6.3 ZooKeeper在阿裏巴巴的實踐與應用
6.3.1 案例一 消息中間件:Metamorphosis
6.3.2 案例二 RPC服務框架:Dubbo
6.3.3 案例三 基於MySQL Binlog的增量訂閱和消費組件:Canal
6.3.4 案例四 分布式數據庫同步係統:Otter
6.3.5 案例五 輕量級分布式通用搜索平颱:終搜
6.3.6 案例六 實時計算引擎:JStorm
小結
第7章 ZooKeeper技術內幕
7.1 係統模型
7.1.1 數據模型
7.1.2 節點特性
7.1.3 版本――保證分布式數據原子性操作
7.1.4 Watcher――數據變更的通知
7.1.5 ACL――保障數據的安全
7.2 序列化與協議
7.2.1 Jute介紹
7.2.2 使用Jute進行序列化
7.2.3 深入Jute
7.2.4 通信協議
7.3 客戶端
7.3.1 一次會話的創建過程
7.3.2 服務器地址列錶
7.3.3 ClientCnxn:網絡I/O
7.4 會話
7.4.1 會話狀態
7.4.2 會話創建
7.4.3 會話管理
7.4.4 會話清理
7.4.5 重連
7.5 服務器啓動
7.5.1 單機版服務器啓動
7.5.2 集群版服務器啓動
7.6 Leader選舉
7.6.1 Leader選舉概述
7.6.2 Leader選舉的算法分析
7.6.3 Leader選舉的實現細節
7.7 各服務器角色介紹
7.7.1 Leader
7.7.2 Follower
7.7.3 Observer
7.7.4 集群間消息通信
7.8 請求處理
7.8.1 會話創建請求
7.8.2 SetData請求
7.8.3 事務請求轉發
7.8.4 GetData請求
7.9 數據與存儲
7.9.1 內存數據
7.9.2 事務日誌
7.9.3 snapshot――數據快照
7.9.4 初始化
7.9.5 數據同步
小結
第8章 ZooKeeper運維
8.1 配置詳解
8.1.1 基本配置
8.1.2 高級配置
8.2 四字命令
8.3 JMX
8.3.1 開啓遠程JMX
8.3.2 通過JConsole連接ZooKeeper
8.4 監控
8.4.1 實時監控
8.4.2 數據統計
8.5 構建一個高可用的集群
8.5.1 集群組成
8.5.2 容災
8.5.3 擴容與縮容
8.6 日常運維
8.6.1 數據與日誌管理
8.6.2 Too many connections
8.6.3 磁盤管理
小結
附錄A Windows平颱上部署ZooKeeper
附錄B 從源代碼開始構建
附錄C 各發行版本重大更新記錄
附錄D ZooKeeper源代碼閱讀指引
從Paxos到Zookeeper分布式一緻性原理與實踐 下載 mobi pdf epub txt 電子書 格式 2024
從Paxos到Zookeeper分布式一緻性原理與實踐 下載 mobi epub pdf 電子書不錯 值得信賴的京東 一如既往的支持
評分給我男朋友買的,希望他好好學習,哈哈,技術更上一層樓
評分內容還不錯的書籍
評分特價買很劃算,一次買瞭好多。
評分內容還沒看,紙張和印刷質量都很不錯,贊一個
評分非常喜歡,真的不錯,物超所值,下次還來
評分很好 學習瞭 之前都沒接觸過這些知識 多看書好
評分老公說可以 希望技術大長進 好賺錢 嘻嘻
評分用起來很舒服
從Paxos到Zookeeper分布式一緻性原理與實踐 mobi epub pdf txt 電子書 格式下載 2024