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

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

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

定 價(jià):¥99.00

作 者: 韓健 著
出版社: 機(jī)械工業(yè)出版社
叢編項(xiàng):
標(biāo) 簽: 暫缺

ISBN: 9787111710226 出版時(shí)間: 2022-08-01 包裝: 平裝
開本: 16開 頁(yè)數(shù): 230 字?jǐn)?shù):  

內(nèi)容簡(jiǎn)介

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

作者簡(jiǎn)介

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

圖書目錄

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

第2章 CAP理論19
2.1 CAP理論:分布式系統(tǒng)的ph試紙,用它來(lái)測(cè)酸堿度20
2.1.1 CAP三指標(biāo)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 實(shí)現(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:如何在多個(gè)節(jié)點(diǎn)間確定某變量的值45
3.1.1 你需要了解的3種角色46
3.1.2 如何達(dá)成共識(shí)48
3.2 Multi-Paxos:Multi-Paxos不是一個(gè)算法,而是統(tǒng)稱52
3.2.1 蘭伯特關(guān)于Multi-Paxos的思考53
3.2.2 Chubby是如何實(shí)現(xiàn)Multi-Paxos算法的55
3.3 本章小結(jié)58

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

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

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

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

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

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

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

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

第12章 PoW算法178
12.1 如何理解工作量證明179
12.2 區(qū)塊鏈?zhǔn)侨绾螌?shí)現(xiàn)PoW算法的181
12.3 本章小結(jié)183

【實(shí)戰(zhàn)篇】
第13章 InfluxDB企業(yè)版一致性實(shí)現(xiàn)剖析186
13.1 什么是時(shí)序數(shù)據(jù)庫(kù)186
13.2 如何實(shí)現(xiàn)META節(jié)點(diǎn)一致性188
13.3 如何實(shí)現(xiàn)DATA節(jié)點(diǎn)一致性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 如何跨過(guò)理論和代碼之間的鴻溝195
14.1.1 Hashicorp Raft如何實(shí)現(xiàn)領(lǐng)導(dǎo)者選舉195
14.1.2 Hashicorp Raft如何復(fù)制日志201
14.2 如何以集群節(jié)點(diǎn)為中心使用API205
14.2.1 如何創(chuàng)建Raft節(jié)點(diǎn)205
14.2.2 如何增加集群節(jié)點(diǎn)208
14.2.3 如何移除集群節(jié)點(diǎn)209
14.2.4 如何查看集群節(jié)點(diǎn)狀態(tài)210
14.3 本章小結(jié)211

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

本目錄推薦

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