|
分佈式協議與算法實戰:攻克分佈式系統設計的關鍵難題
|
|
|
|
|
|
|
|
|
ISBN |
9787111710226 |
定价 |
RMB99.00 |
售价 |
RM108.90 |
优惠价 |
RM81.68 * (-25%)
|
作者 |
韓健
|
出版社 |
機械工業出版社
|
出版日期 |
2022-08-01 |
装订 |
平裝. 單色印刷. 230 页. 26. |
库存量 |
海外库存 下单时可选择“空运”或“海运”(空运和海运需独立下单)。空运费每本书/CD是RM28.00。 空运需时8-11个工作天,海运需时约30个工作天。 (以上预计时间不包括出版社调货的时间以及尚未出版的预购商品) |
|
我要订购 有现货时通知我 |
|
放入下次购买清单 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
購買中國簡體書籍請注意:
1. 因裝幀品質及貨運條件未臻完善,中國簡體書可能有出現磨痕、凹痕、折痕等問題,故簡體字館除封面破損、內頁脫落、缺頁等較嚴重的狀態外,其餘所有商品將正常出貨。
|
|
|
|
|
|
|
|
|
目錄
【理論篇】
第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本章小結17
第2章CAP理論19
2.1CAP理論:分散式系統的ph試紙,用它來測酸鹼度20
2.1.1CAP三指標20
2.1.2CAP不可能三角24
2.1.3如何使用CAP理論25
2.2ACID理論:CAP的“酸”,追求一致性28
2.2.1二階段提交協議30
2.2.2TCC32
2.3BASE理論:CAP的“堿”,追求可用性35
2.3.1實現基本可用的4板斧36
2.3.2終一致性37
2.3.3如何使用BASE理論39
2.4本章小結40
【協定與演算法篇】
第3章Paxos演算法44
3.1Basic Paxos:如何在多個節點間確定某變數的值45
3.1.1你需要瞭解的3種角色46
3.1.2如何達成共識48
3.2Multi-Paxos:Multi-Paxos不是一個演算法,而是統稱52
3.2.1蘭伯特關於Multi-Paxos的思考53
3.2.2Chubby是如何實現Multi-Paxos演算法的55
3.3本章小結58
第4章Raft演算法59
4.1Raft是如何選舉領導者的60
4.1.1有哪些成員身份60
4.1.2選舉領導者的過程61
4.1.3選舉過程四連問64
4.2Raft是如何複製日誌的68
4.2.1如何理解日誌68
4.2.2如何複製日誌69
4.2.3如何實現日誌的一致性71
4.3Raft是如何解決成員變更問題的73
4.3.1成員變更問題74
4.3.2如何通過單節點變更解決成員變更問題75
4.4Raft與一致性79
4.5本章小結80
第5章一致雜湊演算法82
5.1使用雜湊演算法有什麼問題83
5.2如何使用一致雜湊演算法實現雜湊定址85
5.3本章小結90
第6章ZAB協議92
6.1如何實現操作的順序性93
6.1.1為什麼Multi-Paxos無法保證操作的順序性93
6.1.2ZAB協定是如何實現操作的順序性的97
6.2主節點崩潰了,怎麼辦101
6.2.1ZAB協議是如何選舉領導者的101
6.2.2ZooKeeper是如何選舉領導者的107
6.3如何從故障中恢復111
6.3.1ZAB集群如何從故障中恢復112
6.3.2ZooKeeper如何從故障中恢復119
6.4ZAB協議:如何處理讀寫請求125
6.4.1ZooKeeper處理讀寫請求的原理126
6.4.2ZooKeeper處理讀寫請求的代碼實現127
6.5ZAB協定與Raft演算法134
6.6本章小結136
第7章Gossip協議137
7.1Gossip的三板斧138
7.2如何使用反熵實現終一致性141
7.3本章小結144
第8章Quorum NWR演算法145
8.1Quorum NWR的三要素146
8.2如何實現Quorum NWR149
8.3本章小結150
第9章MySQL XA151
9.1什麼是XA規範152
9.2如何通過MySQL XA實現分散式事務155
9.3本章小結157
第10章TCC158
10.1什麼是TCC159
10.2如何通過TCC實現指令執行的原子性161
10.3本章小結163
第11章PBFT演算法165
11.1口信消息型拜占庭問題之解的局限166
11.2PBFT演算法是如何達成共識的167
11.3如何替換作惡的主節點171
11.3.1主節點作惡會出現什麼問題171
11.3.2如何替換作惡的主節點172
11.4PBFT演算法的局限、解決辦法和應用176
11.5本章小結177
第12章PoW演算法178
12.1如何理解工作量證明179
12.2區塊鏈是如何實現PoW演算法的181
12.3本章小結183
【實戰篇】
第13章InfluxDB企業版一致性實現剖析186
13.1什麼是時序資料庫186
13.2如何實現META節點一致性188
13.3如何實現DATA節點一致性188
13.3.1自訂副本數188
13.3.2Hinted-handoff189
13.3.3反熵190
13.3.4Quorum NWR191
13.4本章小結192
第14章Hashicorp Raft194
14.1如何跨過理論和代碼之間的鴻溝195
14.1.1Hashicorp Raft如何實現領導者選舉195
14.1.2Hashicorp Raft如何複製日誌201
14.2如何以集群節點為中心使用API205
14.2.1如何創建Raft節點205
14.2.2如何增加集群節點208
14.2.3如何移除集群節點209
14.2.4如何查看集群節點狀態210
14.3本章小結211
第15章基於Raft的分散式KV系統開發實戰213
15.1如何設計架構214
15.1.1如何設計接入協議215
15.1.2如何設計KV操作216
15.1.3如何實現分散式集群218
15.2如何實現代碼220
15.2.1如何實現接入協議220
15.2.2如何實現KV操作222
15.2.3如何實現分散式集群224
15.3本章小結229 |
|
|
|
|
|
|
|
|
|
|
|