書馨卡幫你省薪 2024個(gè)人購書報(bào)告 2024中圖網(wǎng)年度報(bào)告
歡迎光臨中圖網(wǎng) 請 | 注冊
> >
從Paxos到Zookeeper:分布式一致性原理與實(shí)踐

從Paxos到Zookeeper:分布式一致性原理與實(shí)踐

作者:倪超
出版社:電子工業(yè)出版社出版時(shí)間:2021-01-01
開本: 其他 頁數(shù): 420
中 圖 價(jià):¥69.3(7.0折) 定價(jià)  ¥99.0 登錄后可看到會(huì)員價(jià)
加入購物車 收藏
運(yùn)費(fèi)6元,滿39元免運(yùn)費(fèi)
?新疆、西藏除外
本類五星書更多>

從Paxos到Zookeeper:分布式一致性原理與實(shí)踐 版權(quán)信息

從Paxos到Zookeeper:分布式一致性原理與實(shí)踐 本書特色

適讀人群 :供大型網(wǎng)站和分布式系統(tǒng)的開發(fā)人員,對分布式一致性和ZooKeeper感興趣的IT從業(yè)人員閱讀國內(nèi)罕見系統(tǒng)講解ZooKeeper這一應(yīng)用廣泛、成熟的分布式協(xié)調(diào)框架之技術(shù)書。 原理深入,闡述清晰,覆蓋ACID、CAP、BASE,二階段/三階段提交,Paxos、ZAB協(xié)議等熱門話題。 徹底剖析分布式一致性問題,并給出相應(yīng)系統(tǒng)思路,以及完整解決方案及實(shí)戰(zhàn)參考。 無論開發(fā)人員,還是運(yùn)維人士,都可通過書中ZooKeeper使用方法、內(nèi)部實(shí)現(xiàn)及運(yùn)維技巧來全面提升。

從Paxos到Zookeeper:分布式一致性原理與實(shí)踐 內(nèi)容簡介

本書從分布式一致性的理論出發(fā),向讀者簡要介紹幾種典型的分布式一致性協(xié)議,以及解決分布式一致性問題的思路,其中重點(diǎn)講解了Paxos和ZAB協(xié)議。同時(shí),本書深入介紹了分布式一致性問題的工業(yè)解決方案――ZooKeeper,并著重向讀者展示這一分布式協(xié)調(diào)框架的使用方法、內(nèi)部實(shí)現(xiàn)及運(yùn)維技巧,旨在幫助讀者全面了解ZooKeeper,并更好地使用和運(yùn)維ZooKeeper。全書共8章,分為五部分:部分(章)主要介紹了計(jì)算機(jī)系統(tǒng)從集中式向分布式系統(tǒng)演變過程中面臨的挑戰(zhàn),并簡要介紹了ACID、CAP和BASE等經(jīng)典分布式理論;第二部分(第2~4章)介紹了2PC、3PC和Paxos三種分布式一致性協(xié)議,并著重講解了ZooKeeper中使用的一致性協(xié)議――ZAB協(xié)議;第三部分(第5~6章)介紹了ZooKeeper的使用方法,包括客戶端API的使用以及對ZooKeeper服務(wù)的部署與運(yùn)行,并結(jié)合真實(shí)的分布式應(yīng)用場景,總結(jié)了ZooKeeper使用的很好實(shí)踐;第四部分(第7章)對ZooKeeper的架構(gòu)設(shè)計(jì)和實(shí)現(xiàn)原理進(jìn)行了深入分析,包含系統(tǒng)模型、Leader選舉、客戶端與服務(wù)端的工作原理、請求處理,以及服務(wù)器角色的工作流程和數(shù)據(jù)存儲(chǔ)等;第五部分(第8章)介紹了ZooKeeper的運(yùn)維實(shí)踐,包括配置詳解和監(jiān)控管理等,重點(diǎn)講解了如何構(gòu)建一個(gè)高可用的ZooKeeper服務(wù)。

從Paxos到Zookeeper:分布式一致性原理與實(shí)踐 目錄

目錄

第1章 分布式架構(gòu) 1
1.1 從集中式到分布式 1
1.1.1 集中式的特點(diǎn) 2
1.1.2 分布式的特點(diǎn) 2
1.1.3 分布式環(huán)境的各種問題 4
1.2 從ACID到CAP/BASE 5
1.2.1 ACID 5
1.2.2 分布式事務(wù) 8
1.2.3 CAP和BASE理論 9
小結(jié) 15

第2章 一致性協(xié)議 17
2.1 2PC與3PC 17
2.1.1 2PC 17
2.1.2 3PC 21
2.2 Paxos算法 24
2.2.1 追本溯源 25
2.2.2 Paxos理論的誕生 26
2.2.3 Paxos算法詳解 27
小結(jié) 37

第3章 Paxos的工程實(shí)踐 39
3.1 Chubby 39
3.1.1 概述 39
3.1.2 應(yīng)用場景 40
3.1.3 設(shè)計(jì)目標(biāo) 40
3.1.4 Chubby技術(shù)架構(gòu) 43
3.1.5 Paxos協(xié)議實(shí)現(xiàn) 52
3.2 Hypertable 55
3.2.1 概述 55
3.2.2 算法實(shí)現(xiàn) 57
小結(jié) 58

第4章 ZooKeeper與Paxos 59
4.1 初識ZooKeeper 59
4.1.1 ZooKeeper介紹 59
4.1.2 ZooKeeper從何而來 62
4.1.3 ZooKeeper的基本概念 62
4.1.4 為什么選擇ZooKeeper 64
4.2 ZooKeeper的ZAB協(xié)議 65
4.2.1 ZAB協(xié)議 65
4.2.2 協(xié)議介紹 66
4.2.3 深入ZAB協(xié)議 71
4.2.4 ZAB與Paxos算法的聯(lián)系與區(qū)別 77
小結(jié) 78


第5章 使用ZooKeeper 79
5.1 部署與運(yùn)行 79
5.1.1 系統(tǒng)環(huán)境 79
5.1.2 集群與單機(jī) 80
5.1.3 運(yùn)行服務(wù) 84
5.2 客戶端腳本 88
5.2.1 創(chuàng)建 88
5.2.2 讀取 89
5.2.3 更新 90
5.2.4 刪除 91
5.3 Java客戶端API使用 91
5.3.1 創(chuàng)建會(huì)話 91
5.3.2 創(chuàng)建節(jié)點(diǎn) 95
5.3.3 刪除節(jié)點(diǎn) 99
5.3.4 讀取數(shù)據(jù) 100
5.3.5 更新數(shù)據(jù) 109
5.3.6 檢測節(jié)點(diǎn)是否存在 113
5.3.7 權(quán)限控制 115
5.4 開源客戶端 120
5.4.1 ZkClient 120
5.4.2 Curator 130
小結(jié) 162

第6章 ZooKeeper的典型應(yīng)用場景 163
6.1 典型應(yīng)用場景及實(shí)現(xiàn)注 163
6.1.1 數(shù)據(jù)發(fā)布/訂閱 164
6.1.2 負(fù)載均衡 166
6.1.3 命名服務(wù) 170
6.1.4 分布式協(xié)調(diào)/通知 173
6.1.5 集群管理 179
6.1.6 Master選舉 185
6.1.7 分布式鎖 188
6.1.8 分布式隊(duì)列 194
小結(jié) 197
6.2 ZooKeeper在大型分布式系統(tǒng)中的應(yīng)用 197
6.2.1 Hadoop 198
6.2.2 HBase 203
6.2.3 Kafka 207
6.3 ZooKeeper在阿里巴巴的實(shí)踐與應(yīng)用 213
6.3.1 案例一 消息中間件:Metamorphosis 213
6.3.2 案例二 RPC服務(wù)框架:Dubbo 217
6.3.3 案例三 基于MySQL Binlog的增量訂閱和消費(fèi)組件:Canal 219
6.3.4 案例四 分布式數(shù)據(jù)庫同步系統(tǒng):Otter 223
6.3.5 案例五 輕量級分布式通用搜索平臺:終搜 226
6.3.6 案例六 實(shí)時(shí)計(jì)算引擎:JStorm 238
小結(jié) 242

第7章 ZooKeeper技術(shù)內(nèi)幕 243
7.1 系統(tǒng)模型 243
7.1.1 數(shù)據(jù)模型 243
7.1.2 節(jié)點(diǎn)特性 244
7.1.3 版本――保證分布式數(shù)據(jù)原子性操作 246
7.1.4 Watcher――數(shù)據(jù)變更的通知 249
7.1.5 ACL――保障數(shù)據(jù)的安全 265
7.2 序列化與協(xié)議 272
7.2.1 Jute介紹 272
7.2.2 使用Jute進(jìn)行序列化 273
7.2.3 深入Jute 275
7.2.4 通信協(xié)議 277
7.3 客戶端 284
7.3.1 一次會(huì)話的創(chuàng)建過程 286
7.3.2 服務(wù)器地址列表 289
7.3.3 ClientCnxn:網(wǎng)絡(luò)I/O 295
7.4 會(huì)話 298
7.4.1 會(huì)話狀態(tài) 298
7.4.2 會(huì)話創(chuàng)建 299
7.4.3 會(huì)話管理 304
7.4.4 會(huì)話清理 307
7.4.5 重連 309
7.5 服務(wù)器啟動(dòng) 311
7.5.1 單機(jī)版服務(wù)器啟動(dòng) 312
7.5.2 集群版服務(wù)器啟動(dòng) 315
7.6 Leader選舉 321
7.6.1 Leader選舉概述 321
7.6.2 Leader選舉的算法分析 323
7.6.3 Leader選舉的實(shí)現(xiàn)細(xì)節(jié) 328
7.7 各服務(wù)器角色介紹 335
7.7.1 Leader 335
7.7.2 Follower 338
7.7.3 Observer 339
7.7.4 集群間消息通信 339
7.8 請求處理 342
7.8.1 會(huì)話創(chuàng)建請求 343
7.8.2 SetData請求 351
7.8.3 事務(wù)請求轉(zhuǎn)發(fā) 354
7.8.4 GetData請求 355
7.9 數(shù)據(jù)與存儲(chǔ) 356
7.9.1 內(nèi)存數(shù)據(jù) 356
7.9.2 事務(wù)日志 358
7.9.3 snapshot――數(shù)據(jù)快照 364
7.9.4 初始化 368
7.9.5 數(shù)據(jù)同步 372
小結(jié) 376
第8章 ZooKeeper運(yùn)維 379
8.1 配置詳解 379
8.1.1 基本配置 379
8.1.2 高級配置 380
8.2 四字命令 384
8.3 JMX 390
8.3.1 開啟遠(yuǎn)程JMX 390
8.3.2 通過JConsole連接ZooKeeper 391
8.4 監(jiān)控 397
8.4.1 實(shí)時(shí)監(jiān)控 397
8.4.2 數(shù)據(jù)統(tǒng)計(jì) 398
8.5 構(gòu)建一個(gè)高可用的集群 398
8.5.1 集群組成 398
8.5.2 容災(zāi) 399
8.5.3 擴(kuò)容與縮容 402
8.6 日常運(yùn)維 402
8.6.1 數(shù)據(jù)與日志管理 402
8.6.2 Too many connections 404
8.6.3 磁盤管理 405
小結(jié) 405
附錄A Windows平臺上部署ZooKeeper 406
附錄B 從源代碼開始構(gòu)建 409
附錄C 各發(fā)行版本重大更新記錄 414
附錄D ZooKeeper源代碼閱讀指引 418
展開全部

從Paxos到Zookeeper:分布式一致性原理與實(shí)踐 作者簡介

倪超,畢業(yè)于杭州電子科技大學(xué),現(xiàn)阿里巴巴高級工程師,ZooKeeper資深專家,專攻淘寶網(wǎng)分布式一致性方向上的性能提升。

商品評論(0條)
暫無評論……
書友推薦
編輯推薦
返回頂部
中圖網(wǎng)
在線客服