分佈式一致性算法開發實戰

趙辰著

  • 出版商: 北京大學
  • 出版日期: 2020-05-01
  • 定價: $534
  • 售價: 8.0$427
  • 語言: 簡體中文
  • 頁數: 396
  • 裝訂: 平裝
  • ISBN: 7301312857
  • ISBN-13: 9787301312858
  • 立即出貨

買這商品的人也買了...

商品描述

從介紹分佈式一致性算法開始,分析了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