注冊 | 登錄讀書好,好讀書,讀好書!
讀書網(wǎng)-DuShu.com
當前位置: 首頁出版圖書科學技術(shù)計算機/網(wǎng)絡軟件與程序設(shè)計分布式協(xié)議與算法實戰(zhàn):攻克分布式系統(tǒng)設(shè)計的關(guān)鍵難題

分布式協(xié)議與算法實戰(zhàn):攻克分布式系統(tǒng)設(shè)計的關(guān)鍵難題

分布式協(xié)議與算法實戰(zhàn):攻克分布式系統(tǒng)設(shè)計的關(guān)鍵難題

定 價:¥99.00

作 者: 韓健 著
出版社: 機械工業(yè)出版社
叢編項:
標 簽: 暫缺

ISBN: 9787111710226 出版時間: 2022-08-01 包裝: 平裝
開本: 16開 頁數(shù): 230 字數(shù):  

內(nèi)容簡介

  這是一本以實戰(zhàn)為導向、系統(tǒng)講解分布式協(xié)議與算法、深刻揭示分布式系統(tǒng)精髓與本質(zhì)的著作。作者以自己在騰訊和Intel的多年分布式系統(tǒng)工程經(jīng)驗為基礎(chǔ),用圖文并茂、通俗易懂的方式詳細講解了分布式的基礎(chǔ)理論、協(xié)議、算法,以及它們?nèi)绾卧诠こ虒嵺`中落地。 通過本書,你將掌握如下核心知識:(1)4大分布式基礎(chǔ)理論 詳細講解分布式架構(gòu)設(shè)計的核心基礎(chǔ)理論,包括拜占庭將軍問題、CAP理論、ACID理論、BASE理論,這些理論能指導你在實戰(zhàn)中根據(jù)場景特點選擇合適的分布式算法。(2)10種常用的分布式協(xié)議和算法 詳細講解了Paxos算法、Raft算法、一致哈希算法、ZAB協(xié)議、Gossip協(xié)議、Quorum NWR協(xié)議、MySQL XA規(guī)范、TCC、PBFT算法、PoW算法等常用分布式協(xié)議和算法的的原理、特點、適用場景和常見誤區(qū)等。(3)3大綜合實戰(zhàn)案例 通過3個綜合案例講解了分布式基礎(chǔ)理論和分布式算法在工程實踐中的應用,教你將所學知識真正落地。包括InfluxDB企業(yè)版的CP架構(gòu)和AP架構(gòu)的設(shè)計和背后思考,以及Raft、Quorum NWR、Anti-Entropy等分布式算法的具體實現(xiàn)。

作者簡介

  作者:韓健資深分布式技術(shù)專家,擁有10余年技術(shù)研發(fā)和管理經(jīng)驗。曾就職于騰訊(前騰訊QQ后端基礎(chǔ)設(shè)施技術(shù)負責人)和Intel,從事與大規(guī)模分布式系統(tǒng)和云計算相關(guān)的工作。在大規(guī)模分布式系統(tǒng)領(lǐng)域有非常深厚的積累,擅長分布式、高性能、高并發(fā)、高可用的海量服務中間件的架構(gòu)設(shè)計和開發(fā),尤其是與大數(shù)據(jù)中間件相關(guān)的各種技術(shù)。在操作系統(tǒng)和計算機網(wǎng)絡領(lǐng)域也有非常豐富的實踐經(jīng)驗,對Linux內(nèi)核、TCP/IP等技術(shù)有深入的理解。熱衷于技術(shù)分享,是FreeTSDB(業(yè)界第一個補齊了InfluxDB分布式能力的開源時序數(shù)據(jù)庫)的發(fā)起人和核心貢獻者。極客時間專欄作家,《分布式協(xié)議與算法實戰(zhàn)》專欄作者,著有暢銷書《InfluxDB原理與實戰(zhàn)》。維護有微信公眾號influxdb-dev。 技術(shù)審校:朱儀姣騰訊資深架構(gòu)師,騰訊監(jiān)管業(yè)務研發(fā)負責人。對分布式設(shè)計、海量服務之道、高性能架構(gòu)設(shè)計有深刻的理解和豐富的實戰(zhàn)經(jīng)驗,主導了萬億級安全監(jiān)測大數(shù)據(jù)分析平臺的分布式架構(gòu)設(shè)計和性能優(yōu)化等項目。

圖書目錄

【理論篇】
第1章 拜占庭將軍問題2
1.1 什么是拜占庭將軍問題2
1.1.1 蘇秦的困境3
1.1.2 二忠一叛難題3
1.2 口信消息,我們該如何處理呢5
1.3 如何解決n>(3f +1)的限制8
1.3.1 什么是簽名消息8
1.3.2 簽名消息型拜占庭問題之解10
1.4 拜占庭容錯算法和非拜占庭容錯算法,該如何選擇呢16
1.5 本章小結(jié)17

第2章 CAP理論19
2.1 CAP理論:分布式系統(tǒng)的ph試紙,用它來測酸堿度20
2.1.1 CAP三指標20
2.1.2 CAP不可能三角24
2.1.3 如何使用CAP理論25
2.2 ACID理論:CAP的“酸”,追求一致性28
2.2.1 二階段提交協(xié)議30
2.2.2 TCC32
2.3 BASE理論:CAP的“堿”,追求可用性35
2.3.1 實現(xiàn)基本可用的4板斧36
2.3.2 終一致性37
2.3.3 如何使用BASE理論39
2.4 本章小結(jié)40

【協(xié)議與算法篇】
第3章 Paxos算法44
3.1 Basic Paxos:如何在多個節(jié)點間確定某變量的值45
3.1.1 你需要了解的3種角色46
3.1.2 如何達成共識48
3.2 Multi-Paxos:Multi-Paxos不是一個算法,而是統(tǒng)稱52
3.2.1 蘭伯特關(guān)于Multi-Paxos的思考53
3.2.2 Chubby是如何實現(xiàn)Multi-Paxos算法的55
3.3 本章小結(jié)58

第4章 Raft算法59
4.1 Raft是如何選舉領(lǐng)導者的60
4.1.1 有哪些成員身份60
4.1.2 選舉領(lǐng)導者的過程61
4.1.3 選舉過程四連問64
4.2 Raft是如何復制日志的68
4.2.1 如何理解日志68
4.2.2 如何復制日志69
4.2.3 如何實現(xiàn)日志的一致性71
4.3 Raft是如何解決成員變更問題的73
4.3.1 成員變更問題74
4.3.2 如何通過單節(jié)點變更解決成員變更問題75
4.4 Raft與一致性79
4.5 本章小結(jié)80

第5章 一致哈希算法82
5.1 使用哈希算法有什么問題83
5.2 如何使用一致哈希算法實現(xiàn)哈希尋址85
5.3 本章小結(jié)90

第6章 ZAB協(xié)議92
6.1 如何實現(xiàn)操作的順序性93
6.1.1 為什么Multi-Paxos無法保證操作的順序性93
6.1.2 ZAB協(xié)議是如何實現(xiàn)操作的順序性的97
6.2 主節(jié)點崩潰了,怎么辦101
6.2.1 ZAB協(xié)議是如何選舉領(lǐng)導者的101
6.2.2 ZooKeeper是如何選舉領(lǐng)導者的107
6.3 如何從故障中恢復111
6.3.1 ZAB集群如何從故障中恢復112
6.3.2 ZooKeeper如何從故障中恢復119
6.4 ZAB協(xié)議:如何處理讀寫請求125
6.4.1 ZooKeeper處理讀寫請求的原理126
6.4.2 ZooKeeper處理讀寫請求的代碼實現(xiàn)127
6.5 ZAB協(xié)議與Raft算法134
6.6 本章小結(jié)136

第7章 Gossip協(xié)議137
7.1 Gossip的三板斧138
7.2 如何使用反熵實現(xiàn)終一致性141
7.3 本章小結(jié)144

第8章 Quorum NWR算法145
8.1 Quorum NWR的三要素146
8.2 如何實現(xiàn)Quorum NWR149
8.3 本章小結(jié)150

第9章 MySQL XA151
9.1 什么是XA規(guī)范152
9.2 如何通過MySQL XA實現(xiàn)分布式事務155
9.3 本章小結(jié)157

第10章 TCC158
10.1 什么是TCC159
10.2 如何通過TCC實現(xiàn)指令執(zhí)行的原子性161
10.3 本章小結(jié)163

第11章 PBFT算法165
11.1 口信消息型拜占庭問題之解的局限166
11.2 PBFT算法是如何達成共識的167
11.3 如何替換作惡的主節(jié)點171
11.3.1 主節(jié)點作惡會出現(xiàn)什么問題171
11.3.2 如何替換作惡的主節(jié)點172
11.4 PBFT算法的局限、解決辦法和應用176
11.5 本章小結(jié)177

第12章 PoW算法178
12.1 如何理解工作量證明179
12.2 區(qū)塊鏈是如何實現(xiàn)PoW算法的181
12.3 本章小結(jié)183

【實戰(zhàn)篇】
第13章 InfluxDB企業(yè)版一致性實現(xiàn)剖析186
13.1 什么是時序數(shù)據(jù)庫186
13.2 如何實現(xiàn)META節(jié)點一致性188
13.3 如何實現(xiàn)DATA節(jié)點一致性188
13.3.1 自定義副本數(shù)188
13.3.2 Hinted-handoff189
13.3.3 反熵190
13.3.4 Quorum NWR191
13.4 本章小結(jié)192

第14章 Hashicorp Raft194
14.1 如何跨過理論和代碼之間的鴻溝195
14.1.1 Hashicorp Raft如何實現(xiàn)領(lǐng)導者選舉195
14.1.2 Hashicorp Raft如何復制日志201
14.2 如何以集群節(jié)點為中心使用API205
14.2.1 如何創(chuàng)建Raft節(jié)點205
14.2.2 如何增加集群節(jié)點208
14.2.3 如何移除集群節(jié)點209
14.2.4 如何查看集群節(jié)點狀態(tài)210
14.3 本章小結(jié)211

第15章 基于Raft的分布式KV系統(tǒng)開發(fā)實戰(zhàn)213
15.1 如何設(shè)計架構(gòu)214
15.1.1 如何設(shè)計接入?yún)f(xié)議215
15.1.2 如何設(shè)計KV操作216
15.1.3 如何實現(xiàn)分布式集群218
15.2 如何實現(xiàn)代碼220
15.2.1 如何實現(xiàn)接入?yún)f(xié)議220
15.2.2 如何實現(xiàn)KV操作222
15.2.3 如何實現(xiàn)分布式集群224
15.3 本章小結(jié)229

本目錄推薦

掃描二維碼
Copyright ? 讀書網(wǎng) m.ranfinancial.com 2005-2020, All Rights Reserved.
鄂ICP備15019699號 鄂公網(wǎng)安備 42010302001612號