分佈式系統模式

陳斌//沈劍

商品描述

本書深入剖析了主流開源分佈式系統模式,包括模式中的常見問題和解決方案,並展示了Kafka和Kubernetes等系統的真實代碼示例,以幫助企業架構師和開發人員更好地理解這些系統的工作原理,以及分佈式系統的設計原則,為應對數據存儲在多台服務器上時可能出現的各種問題做好準備。 通過閱讀本書,讀者將: 瞭解什麽是分佈式系統,以及為什麽需要分佈式系統。 更深入地理解分佈式系統模式設計所面臨的挑戰,以選擇合適的雲服務和產品。 理解包括數據庫、內存數據網格、消息代理,以及各種雲服務在內的系統的實現原理。 自信地瀏覽開源代碼庫,並清晰地看到模式和解決方案如何映射到如Kafka和Kubernetes這樣的真實世界系統中。 本書對於分佈式架構工程師以及想要構建自己的分佈式系統的開發者來說,是一本有價值的參考書。

作者簡介

陳斌(Chuck Chen),NETSTARS首席技術官。1989年獲得吉林大學碩士學位;1992年任新加坡航空公司高級系統分析師;1999年投身於硅谷因特網技術發展浪潮,曾任日立美國系統集成總監、Abacus首席架構師和Nokia美國首席工程師;2008年任eBay資深架構師,負責移動應用的架構設計;2014年出任易寶支付首席技術官;2016年開始擔任CTO聯盟聯席主席、因特網技術百人會理事長。豐富的海外經歷,多年的架構經驗,深諳移動因特網對傳統行業的影響;2020年投身NETSTARS,擔任CTO,全力推動移動因特網技術,引領行業的變革。

目錄大綱

譯者序
推薦序
前言
致謝
第一部分 概述
第1章 分佈式系統
1.1 單服務器的限制
1.2 業務邏輯和數據層分離
1.3 數據分區
1.4 故障觀察
1.5 覆制:屏蔽故障
1.5.1 進程終止甚至崩潰
1.5.2 網絡延遲
1.5.3 進程暫停
1.5.4 時鐘不同步
1.6 定義分佈式系統
1.7 模式方法
第2章 模式概述
2.1 在單服務器上保持數據的彈性
2.2 競爭性更新
2.3 處理主節點失效
2.4 依托“世代時鐘”解決多節點故障問題
2.5 符合仲裁機制方可提交日誌記錄
2.6 從節點基於高水位標記提交
2.7 主節點用消息隊列來保持對眾多客戶端的響應
2.8 由從節點處理讀請求以減輕主節點的負擔
2.9 把大量數據分散到多節點分區
2.10 通過覆制分區提高集群彈性
2.11 跨分區維持一致性至少需要兩個階段
2.12 分佈式系統的順序不能依賴於系統時間戳
2.13 一致性核心負責管理數據集群的成員資格
2.14 使用Gossip傳播機制來管理分佈式集群
第二部分 數據覆制模式
第3章 預寫日誌
3.1 問題的提出
3.2 解決方案
3.2.1 實現考慮
3.2.2 在事務存儲中的使用
3.2.3 與事件溯源對比
3.3 示例
第4章 日誌分段
4.1 問題的提出
……
第三部分 數據分區模式
第四部分 分佈式時間的模式
第五部分 集群管理模式
第六部分 節點間通信模式
參考文獻