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

分散式系統模式(英文版)/架構師書庫

  • 作者:(美)烏梅什·喬希|責編:張瑩
  • 出版社:機械工業
  • ISBN:9787111777526
  • 出版日期:2025/04/01
  • 裝幀:平裝
  • 頁數:410
人民幣:RMB 129 元      售價:
放入購物車
加入收藏夾

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

作者介紹
(美)烏梅什·喬希|責編:張瑩
    烏梅什·喬希,軟體架構領域的領軍人物,Thoughtworks首席顧問,擁有超過24年的IT行業經驗。分散式系統領域的資深專家,對分散式系統的設計和實現有著深刻的理解,對分散式系統的架構模式有系統的梳理和總結。在Scala、Akka、Kafka、Cassandra、Kubernetes、Docker和雲服務等技術領域積累了豐富的經驗,這些技術專長使他能夠從理論到實踐全面掌握分散式系統的核心問題。

目錄
第一部分  概述
  第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  問題的提出
    4.2  解決方案
    4.3  示例
  第5章  低水位標記
    5.1  問題的提出
    5.2  解決方案
      5.2.1  基於快照的低水位標記
      5.2.2  基於時間的低水位標記
    5.3  示例
  第6章  主節點與從節點
    6.1  問題的提出
    6.2  解決方案
      6.2.1  主節點選舉

      6.2.2  僅有多數讀/寫不足以提供強一性證
    6.3  示例
  第7章  心跳機制
    7.1  問題的提出
    7.2  解決方案
      7.2.1  小型集群:基於共識演算法的系統
      7.2.2  技術考慮
      7.2.3  大型集群:基於Gossip協議
    7.3  示例
  第8章  多數法定節點數
    8.1  問題的提出
    8.2  解決方案
      8.2.1  決定集群中伺服器的數量
      8.2.2  靈活的多數法定節點數
    8.3  示例
  第9章  世代時鐘
    9.1  問題的提出
    9.2  解決方案
    9.3  示例
  第10章  高水位標記
    10.1  問題的提出
    10.2  解決方案
    10.3  示例
  第11章  Paxos
    11.1  問題的提出
    11.2  解決方案
      11.2.1  協議流程
      11.2.2  鍵值存儲示例
      11.2.3  彈性Paxos
    11.3  示例
  第12章  複製日誌
    12.1  問題的提出
    12.2  解決方案
      12.2.1  Multi-Paxos和Raft
      12.2.2  複製客戶端請求
      12.2.3  主節點選舉
      12.2.4  技術考慮
      12.2.5  推送與拉取
      12.2.6  日誌中有什麼
    12.3  示例
  第13章  單一更新隊列
    13.1  問題的提出
    13.2  解決方案
      13.2.1  隊列的選擇
      13.2.2  使用通道和輕量級線程
      13.2.3  限流
      13.2.4  其他考慮
    13.3  示例
  第14章  請求等待列表
    14.1  問題的提出

    14.2  解決方案
    14.3  示例
  第15章  冪等接收器
    15.1  問題的提出
    15.2  解決方案
      15.2.1  使已存的客戶端請求過期
      15.2.2  移除已註冊的客戶端
      15.2.3  多一次、少一次和恰好一次作
    15.3  示例
  第16章  由從節點處理讀請求
    16.1  問題的提出
    16.2  解決方案
      16.2.1  尋找近的副本
      16.2.2  連接斷開或慢速從節點
      16.2.3  讀寫一性
      16.2.4  線性化讀
    16.3  示例
  第17章  版本化值
    17.1  問題的提出
    17.2  解決方案
      17.2.1  版本化鍵的排序
      17.2.2  讀多個版本
      17.2.3  MVCC和事務隔離性
      17.2.4  使用類似RocksDB的存儲引擎
    17.3  示例
  第18章  版本向量
    18.1  問題的提出
    18.2  解決方案
      18.2.1  版本向量比較
      18.2.2  在鍵值存儲中使用版本向量
    18.3  示例
第三部分  數據分區模式
  第19章  固定分區
    19.1  問題的提出
    19.2  解決方案
      19.2.1  選擇哈希函數
      19.2.2  將分區映射到集群節點
      19.2.3  替代方案:分區數量與節點數量成比例
    19.3  示例
  第20章  鍵範圍分區
    20.1  問題的提出
    20.2  解決方案
      20.2.1  預定義鍵範圍
      20.2.2  示例場景
      20.2.3  自動分割範圍
    20.3  示例
  第21章  兩段提交
    21.1  問題的提出
    21.2  解決方案
      21.2.1  鎖和事務隔離性

      21.2.2  提交和回滾
      21.2.3  示例場景
      21.2.4  使用版本化值
      21.2.5  使用複製日誌
      21.2.6  故障處理
      21.2.7  異構系統中的事務
    21.3  示例
第四部分  分散式時間的模式
  第22章  Lamport時鐘
    22.1  問題的提出
    22.2  解決方案
      22.2.1  因果關係、時間和先後關係
      22.2.2  鍵值存儲示例
      22.2.3  分有序
      22.2.4  單個主節點更新值
    22.3  示例
  第23章  混合時鐘
    23.1  問題的提出
    23.2  解決方案
      23.2.1  使用混合時鐘的多版本存儲
      23.2.2  使用時間戳讀取值
      23.2.3  為分散式事務分配時間戳
    23.3  示例
  第24章  時鐘約束等待
    24.1  問題的提出
    24.2  解決方案
      24.2.1  讀請求重啟
      24.2.2  使用時鐘約束API
    24.3  示例
第五部分  集群管理模式
  第25章  一性核心
    25.1  問題的提出
    25.2  解決方案
      25.2.1  元數據存儲
      25.2.2  處理客戶端交互
    25.3  示例
  第26章  租約
    26.1  問題的提出
    26.2  解決方案
      26.2.1  將租約附加到鍵值存儲中的鍵上
      26.2.2  處理主節點失效
    26.3  示例
  第27章  狀態監控
    27.1  問題的提出
    27.2  解決方案
      27.2.1  客戶端實現
      27.2.2  伺服器端實現
      27.2.3  處理連接失敗
    27.3  示例
  第28章  Gossip傳播

    28.1  問題的提出
    28.2  解決方案
      28.2.1  避不要的狀態交換
      28.2.2  選擇Gossip節點的標準
      28.2.3  群組成員資格和故障檢測
      28.2.4  處理節點重啟
    28.3  示例
  第29章  應急主節點
    29.1  問題的提出
    29.2  解決方案
      29.2.1  向所有現有成員發送成員資格更新
      29.2.2  一個示例場景
      29.2.3  處理缺失的成員資格更新
      29.2.4  故障檢測
      29.2.5  與主從模式的比較
    29.3  示例
第六部分  節點間通信模式
  第30章  單套接字通道
    30.1  問題的提出
    30.2  解決方案
    30.3  示例
  第31章  請求批處理
    31.1  問題的提出
    31.2  解決方案
    31.3  示例
  第32章  請求管道
    32.1  問題的提出
    32.2  解決方案
    32.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