分佈式一致性算法開發實戰
趙辰著
- 出版商: 北京大學
- 出版日期: 2020-05-01
- 定價: $534
- 售價: 8.5 折 $454
- 語言: 簡體中文
- 頁數: 396
- 裝訂: 平裝
- ISBN: 7301312857
- ISBN-13: 9787301312858
立即出貨
買這商品的人也買了...
-
$790$774 -
$750$713 -
$594$564 -
$505分佈式實時處理系統:原理、架構與實現
-
$594$564 -
$422$401 -
$680$578 -
$658深入 PHP 面向對象 , 模式與實踐 (PHP Objects, Patterns, and Practice, 5/e)
-
$780$616 -
$834$792 -
$454超大流量分佈式系統架構解決方案:人人都是架構師2.0
-
$520$411 -
$607數據庫系統內幕
-
$594$564 -
$480$379 -
$653PHP 7 開發寶典, 4/e (PHP 7 Solutions: Dynamic Web Design Made Easy, 4/e)
-
$654$621 -
$779$740 -
$505etcd 工作筆記
-
$780$616 -
$709C語言入門經典, 6/e (Beginning C: From Beginner to Pro, 6/e)
-
$780$616 -
$800$632 -
$650$507 -
$600$468
相關主題
商品描述
從介紹分佈式一致性算法開始,分析了Raft算法以及Raft算法所依賴的理論,
在此基礎上講解並實現了Raft算法以及基於Raft算法的KV服務。
通過本書,可以深入了解Raft算法的運行機制,也可以學到如何相對正確地實現Raft。
《分佈式一致性算法開發實戰》分為11章,
第1章簡單介紹分佈式一致性算法,
第2章詳細分析Raft算法,
第3章在第2章的基礎上進行整體設計,
第4~ 8章逐個講解基於Raft算法的KV服務的各個組件的實現,
第9章講解日誌快照,第10章是生產環境必需的服務器成員變更功能,
第11章介紹一些相關的Raft算法優化。
本書詳細介紹了Raft的核心算法、
服務器成員變更以及各種優化的實現,
適合那些想嘗試實現Raft算法或者在生產環境加入Raft算法的人,
也適合那些對於Raft算法有興趣的讀者。
作者簡介
趙辰
男,1989年生於上海,軟件工程師。
曾在螞蟻金服工作四年,擅長基於Java語言的後端開發,
對Java語言下的多線程編程、分佈式計算、多核編程有深入研究。
目錄大綱
第1章分佈式一致性與共識算法簡介/1
1.1 CAP定理/2
1.2共識算法/3
1.3本章小結/6
第2章Raft核心算法分析/7
2.1不考慮分佈式一致性的集群/8
2.2日誌狀態機模型/8
2.3基於Quorum機制的寫入/9
2.4基於日誌比較的選舉/10
2.5 Raft算法中的選舉/13
2.6 Raft算法中的日誌複製/18
2.7 Raft算法中的一些細節問題/21
2.8本章小結/25
第3章整體設計/27
3.1設計目標/28
3.2設計和實現順序/29
3.3參考實現/29
3.4狀態數據分析/30
3.5靜態數據分析/32
3.6集群成員與映射表/34
3.7組件分析/38
3.8如何解耦組件間的雙向調用關係/39
3.9線程模型分析/43
3.10項目準備/48
3.11本章小結/56
第4章選舉實現/58
4.1角色建模/59
4.2定時器組件/63
4.3消息建模/67
4.4關聯組件和工具/70
4.5一致性(核心)組件/78
4.6測試/91
4.7本章小結/103
第5章日誌實現/104
5.1日誌實現要求/105
5.2日誌實現分析/105
5.3日誌條目序列/110
5.4日誌實現/133
5.5與選舉部分對接/142
5.6測試/146
5.7本章小結/159
第6章通信實現/160
6.1通信接口分析/161
6.2序列化與反序列化/162
6.3通信實現分析/165
6.4通信組件的實現/168
6.5測試/186
6.6本章小結/188
第7章基於Raft算法的KV服務/189
7.1服務設計/190
7.2服務實現/200
7.3 Node的組裝與服務的啟動/213
7.4關於測試/221
7.5本章小結/221
第8章客戶端和整體測試/222
8.1客戶端設計與實現/223
8.2客戶端的啟動和基本操作/231
8.3單機模式/234
8.4集群模式/238
8.5本章小結/258
第9章日誌快照/259
9.1日誌快照的分析和設計/260
9.2日誌快照的實現/267
9.3測試/ 289
9.4本章小結/296
第10章集群成員變更/297
10.1集群成員的安全變更/298
10.2成員變更的一些細節問題/304
10.3成員組件修改/307
10.4日誌組件修改/311
10.5增加節點/324
10.6移除節點/340
10.7測試/344
10.8本章小結/357
第11章Raft算法的優化/358
11.1 PreVote /359
11.2 ReadIndex /368
11.3其他優化/383
11.4本章小結/386