幫助中心 | 我的帳號 | 關於我們

分散式協議與演算法實戰(攻克分散式系統設計的關鍵難題)

  • 作者:韓健|責編:董惠芝//李藝
  • 出版社:機械工業
  • ISBN:9787111710226
  • 出版日期:2022/08/01
  • 裝幀:平裝
  • 頁數:230
人民幣:RMB 99 元      售價:
放入購物車
加入收藏夾

內容大鋼
    這是一本以實戰為導向、系統講解分散式協議與演算法、深刻揭示分散式系統精髓與本質的著作。作者以自己在騰訊和Intel的多年分散式系統工程經驗為基礎,用圖文並茂、通俗易懂的方式詳細講解了分散式的基礎理論、協議、演算法,以及它們如何在工程實踐中落地。
    通過本書,你將掌握如下核心知識:
    (1)4大分散式基礎理論
    詳細講解分散式架構設計的核心基礎理論,包括拜占庭將軍問題、CAP理論、ACID理論、BASE理論,這些理論能指導你在實戰中根據場景特點選擇合適的分散式演算法。
    (2)10種常用的分散式協議和演算法
    詳細講解了Paxos演算法、Raft演算法、一致哈希演算法、ZAB協議、Gossip協議、Quorum NWR協議、MySQL XA規範、TCC、PBFT演算法、PoW演算法等常用分散式協議和演算法的的原理、特點、適用場景和常見誤區等。
    (3)3大綜合實戰案例
    通過3個綜合案例講解了分散式基礎理論和分散式演算法在工程實踐中的應用,教你將所學知識真正落地。包括InfluxDB企業版的CP架構和AP架構的設計和背後思考,以及Raft、Quorum NWR、Anti-Entropy等分散式演算法的具體實現。

作者介紹
韓健|責編:董惠芝//李藝
    韓健,資深分散式技術專家,擁有10余年技術研發和管理經驗。曾就職于騰訊(前騰訊QQ後端基礎設施技術負責人)和Intel,從事與大規模分散式系統和雲計算相關的工作。     在大規模分散式系統領域有非常深厚的積累,擅長分散式、高性能、高併發、高可用的海量服務中間件的架構設計和開發,尤其是與大數據中間件相關的各種技術。在操作系統和電腦網路領域也有非常豐富的實踐經驗,對Linux內核、TCP/IP等技術有深入的理解。     熱衷於技術分享,是FreeTSDB(業界第一個補齊了InfluxDB分散式能力的開源時序資料庫)的發起人和核心貢獻者。極客時間專欄作家,《分散式協議與演算法實戰》專欄作者,著有暢銷書《InfluxDB原理與實戰》。

目錄
讚譽

前言
理論篇
第1章  拜占庭將軍問題
  1.1  什麼是拜占庭將軍問題
    1.1.1  蘇秦的困境
    1.1.2  二忠一叛難題
  1.2  口信消息,我們該如何處理呢
  1.3  如何解決□的限制
    1.3.1  什麼是簽名消息
    1.3.2  簽名消息型拜占庭問題之解
  1.4  拜占庭容錯演算法和非拜占庭容錯演算法,該如何選擇呢
  1.5  本章小結
第2章  CAP理論
  2.1  CAP理論:分散式系統的ph試紙,用它來測酸鹼度
    2.1.1  CAP三指標
    2.1.2  CAP不可能三角
    2.1.3  如何使用CAP理論
  2.2  ACID理論:CAP的「酸」,追求一致性
    2.2.1  二階段提交協議
    2.2.2  TCC
  2.3  BASE理論:CAP的「鹼」,追求可用性
    2.3.1  實現基本可用的4板斧
    2.3.2  終一致性
    2.3.3  如何使用BASE理論
  2.4  本章小結

協議與演算法篇
第3章  Paxos演算法
  3.1  Basic Paxos:如何在多個節點間確定某變數的值
    3.1.1  你需要了解的3種角色
    3.1.2  如何達成共識
  3.2  Multi-Paxos:Multi-Paxos不是一個演算法,而是統稱
    3.2.1  蘭伯特關於Multi-Paxos的思考
    3.2.2  Chubby是如何實現Multi-Paxos演算法的
  3.3  本章小結
第4章  Raft演算法
  4.1  Raft是如何選舉領導者的
    4.1.1  有哪些成員身份
    4.1.2  選舉領導者的過程
    4.1.3  選舉過程四連問
  4.2  Raft是如何複製日誌的
    4.2.1  如何理解日誌
    4.2.2  如何複製日誌
    4.2.3  如何實現日誌的一致性
  4.3  Raft是如何解決成員變更問題的
    4.3.1  成員變更問題
    4.3.2  如何通過單節點變更解決成員變更問題
  4.4  Raft與一致性

  4.5  本章小結
第5章  一致哈希演算法
  5.1  使用哈希演算法有什麼問題
  5.2  如何使用一致哈希演算法實現哈希定址
  5.3  本章小結
第6章  ZAB協議
  6.1  如何實現操作的順序性
    6.1.1  為什麼Multi-Paxos無法保證操作的順序性
    6.1.2  ZAB協議是如何實現操作的順序性的
  6.2  主節點崩潰了,怎麼辦
    6.2.1  ZAB協議是如何選舉領導者的
    6.2.2  ZooKeeper是如何選舉領導者的
  6.3  如何從故障中恢復
    6.3.1  ZAB集群如何從故障中恢復
    6.3.2  ZooKeeper如何從故障中恢復
  6.4  ZAB協議:如何處理讀寫請求
    6.4.1  ZooKeeper處理讀寫請求的原理
    6.4.2  ZooKeeper處理讀寫請求的代碼實現
  6.5  ZAB協議與Raft演算法
  6.6  本章小結
第7章  Gossip協議
  7.1  Gossip的三板斧
  7.2  如何使用反熵實現終一致性
  7.3  本章小結
第8章  Quorum NWR演算法
  8.1  Quorum NWR的三要素
  8.2  如何實現Quorum NWR
  8.3  本章小結
第9章  MySQL XA
  9.1  什麼是XA規範
  9.2  如何通過MySQL XA實現分散式事務
  9.3  本章小結
第10章  TCC
  10.1  什麼是TCC
  10.2  如何通過TCC實現指令執行的原子性
  10.3  本章小結
第11章  PBFT演算法
  11.1  口信消息型拜占庭問題之解的局限
  11.2  PBFT演算法是如何達成共識的
  11.3  如何替換作惡的主節點
    11.3.1  主節點作惡會出現什麼問題
    11.3.2  如何替換作惡的主節點
  11.4  PBFT演算法的局限、解決辦法和應用
  11.5  本章小結
第12章  PoW演算法
  12.1  如何理解工作量證明
  12.2  區塊鏈是如何實現PoW演算法的
  12.3  本章小結

實戰篇

第13章  InfluxDB企業版一致性實現剖析
  13.1  什麼是時序資料庫
  13.2  如何實現META節點一致性
  13.3  如何實現DATA節點一致性
    13.3.1  自定義副本數
    13.3.2  Hinted-handoff
    13.3.3  反熵
    13.3.4  Quorum NWR
  13.4  本章小結
第14章  Hashicorp Raft
  14.1  如何跨過理論和代碼之間的鴻溝
    14.1.1  Hashicorp Raft如何實現領導者選舉
    14.1.2  Hashicorp Raft如何複製日誌
  14.2  如何以集群節點為中心使用API
    14.2.1  如何創建Raft節點
    14.2.2  如何增加集群節點
    14.2.3  如何移除集群節點
    14.2.4  如何查看集群節點狀態
  14.3  本章小結
第15章  基於Raft的分散式KV系統開發實戰
  15.1  如何設計架構
    15.1.1  如何設計接入協議
    15.1.2  如何設計KV操作
    15.1.3  如何實現分散式集群
  15.2  如何實現代碼
    15.2.1  如何實現接入協議
    15.2.2  如何實現KV操作
    15.2.3  如何實現分散式集群
  15.3  本章小結

  • 商品搜索:
  • | 高級搜索
首頁新手上路客服中心關於我們聯絡我們Top↑
Copyrightc 1999~2008 美商天龍國際圖書股份有限公司 臺灣分公司. All rights reserved.
營業地址:臺北市中正區重慶南路一段103號1F 105號1F-2F
讀者服務部電話:02-2381-2033 02-2381-1863 時間:週一-週五 10:00-17:00
 服務信箱:bookuu@69book.com 客戶、意見信箱:cs@69book.com
ICP證:浙B2-20060032