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

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

《分散式一致性算法開發實戰》是2020年北京大學出版社出版的圖書,作者是趙辰。

基本介紹

  • 中文名:分散式一致性算法開發實戰
  • 作者:趙辰
  • 出版時間:2020年
  • 出版社:北京大學出版社
  • ISBN:9787301312858
  • 類別:圖書>計算機/網路>程式設計>其他
  • 開本:128 開
  • 裝幀:平裝-膠訂
內容簡介,圖書目錄,作者簡介,

內容簡介

本書分析了分散式一致性Raft算法以及Raft算法所依賴的理論,在此基礎上講解並實現Raft算法以及基於Raft算法的KV服務。通過本書,你可以深入了解Raft算法的運行機制,也可以學習到如何正確地實現Raft。
本書分為11章,*章介紹分散式一致性算法,第二章詳細分析Raft算法,第三章在第二章基礎上整體設計,第四章到第八章逐個講解基於Raft算法的KV服務的各個組件的實現,第九章講解Raft算法的主要最佳化之一的日誌快照,第十章是生產環境必須的伺服器成員變更功能,*後一章介紹其他一些相關的Raft最佳化。
本書詳細介紹了Raft的核心算法、伺服器成員變更以及各種最佳化的實現,適合想嘗試實現Raft算法或者在生產環境中加入Raft算法的讀者,以及對於分散式一致性算法有興趣的讀者。

圖書目錄

第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

作者簡介

趙辰,男,1989年生於上海,軟體工程師。曾在支付寶(現在的螞蟻金服)工作四年,擅長基於Java語言的後端開發,對Java語言下的多執行緒編程、分散式計算、多核編程有深入研究。

相關詞條

熱門詞條

聯絡我們