從Paxos到Zookeeper:分布式一致性原理與實踐

從Paxos到Zookeeper:分布式一致性原理與實踐
定價:450
NT $ 450
  • 作者:倪超
  • 出版社:電子工業出版社
  • 出版日期:2015-02-01
  • 語言:簡體中文
  • ISBN10:7121249677
  • ISBN13:9787121249679
  • 裝訂:422頁 / 普通級 / 1-1
 

內容簡介

倪超編著的《從Paxos到Zookeeper(分布式一致性原理與實踐)》從分布式一致性的理論出發,向讀者簡要介紹幾種典型的分布式一致性協議,以及解決分布式一致性問題的思路,其中重點講解了Paxos和ZAB 協議。同時,本書深入介紹了分布式一致性問題的工業解決方案——ZooKeeper,並着重向讀者展示這一分布式協調框架的使用方法、內部實現及運維技巧,旨在幫助讀者全面了解ZooKeeper,並更好地使用和運維ZooKeeper。

全書共8章,分為五部分:第一部分(第1章)主要介紹了計算機系統從集中式向分布式系統演變過程中面臨的挑戰,並簡要介紹了AcID、CAP和BASE等經典分布式理論;第二部分(第2~4章)介紹了2PC、3PC和Paxos三種分布式一致性協議,並着重講解了 ZooKeeper中使用的一致性協議——ZAB協議;第三部分(第5~6章)介紹了ZooKeeper的使用方法,包括客戶端API的使用以及對ZooKeeper服務的部署與運行,並結合真實的分布式應用場景,總結了ZooKeeper使用的最佳實踐;第四部分(第7章)對ZooKeeper的架構設計和實現原理進行了深入分析,包含系統模型、Leader選舉、客戶端與服務端的工作原理、請求處理,以及服務器角色的工作流程和數據存儲等;第五部分(第8章)介紹了ZooKeeper的運維實踐,包括配置詳解和監控管理等,重點講解了如何構建一個高可用的 ZooKeeper服務。

倪超,阿里巴巴集團高級研發工程師,國家認證系統分析師,畢業於杭州電子科技大學計算機系。2010年加入阿里巴巴中間件團隊擔任研發實習崗位,一直從事 ZooKeeper的開發與運維工作,從中學習與總結了不少分布式一致性相關的理論與實踐經驗,尤其對ZooKeeper及其相關技術有非常深入的研究。 目前在中間件團隊專家組任職產品經理,負責分布式產品的產品化和雲計算化改造工作。
 

目錄

第1章 分布式架構
1.1 從集中式到分布式
1.1.1 集中式的特點
1.1.2 分布式的特點
1.1.3 分布式環境的各種問題
1.2 從ACID到CAP/BASE
1.2.1 ACID
1.2.2 分布式事務
1.2.3 CAP和BASE理論
小結
第2章 一致性協議
2.1 2PC與3PC
2.1.1 2PC
2.1.2 3PC
2.2 Paxos算法
2.2.1 追本溯源
2.2.2 Paxos理論的誕生
2.2.3 Paxos算法詳解
小結
第3章 Paxos的工程實踐
3.1 Chubby
3.1.1 概述
3.1.2 應用場景
3.1.3 設計目標
3.1.4 Chubby技術架構
3.1.5 Paxos協議實現
3.2 Hypertable
3.2.1 概述
3.2.2 算法實現
小結
第4章 ZooKeeper與Paxos

4.1 初識ZooKeeper
4.1.1 ZooKeeper介紹
4.1.2 ZooKeeper從何而來
4.1.3 ZooKeeper的基本概念
4.1.4 為什麼選擇ZooKeeper
4.2 ZooKeeper的ZAB協議
4.2.1 ZAB協議
4.2.2 協議介紹
4.2.3 深入ZAB協議
4.2.4 ZAB與Paxos算法的聯系與區別
小結
第5章 使用ZooKeeper
5.1 部署與運行
5.1.1 系統環境
5.1.2 集群與單機
5.1.3 運行服務
5.2 客戶端腳本
5.2.1 創建
5.2.2 讀取
5.2.3 更新
5.2.4 刪除
5.3 Java客戶端API使用
5.3.1 創建會話
5.3.2 創建節點
5.3.3 刪除節點
5.3.4 讀取數據
5.3.5 更新數據
5.3.6 檢測節點是否存在
5.3.7 權限控制
5.4 開源客戶端
5.4.1 ZkClient
5.4.2 Curator
小結
第6章 ZooKeeper的典型應用場景
6.1 典型應用場景及實現注
6.1.1 數據發布/訂閱
6.1.2 負載均衡
6.1.3 命名服務
6.1.4 分布式協調/通知
6.1.5 集群管理
6.1.6 Master選舉
6.1.7 分布式鎖
6.1.8 分布式隊列
小結
6.2 ZooKeeper在大型分布式系統中的應用
6.2.1 Hadoop
6.2.2 HBase
6.2.3 Kafka
6.3 ZooKeeper在阿里巴巴的實踐與應用
6.3.1 案例一消息中間件:Metamorphosis
6.3.2 案例二 RPC服務框架:Dubbo
6.3.3 案例三基於MySQL Binlog的增量訂閱和消費組件:Canal
6.3.4 案例四分布式數據庫同步系統:Otter
6.3.5 案例五輕量級分布式通用搜索平台:終搜
6.3.6 案例六實時計算引擎:JStorm
小結
第7章 ZooKeeper技術內幕
7.1 系統模型
7.1.1 數據模型
7.1.2 節點特性
7.1.3 版本——保證分布式數據原子性操作
7.1.4 Watcher——數據變更的通知
7.1.5 ACL——保障數據的安全
7.2 序列化與協議
7.2.1 Jute介紹
7.2.2 使用Jute進行序列化
7.2.3 深入Jute

7.2.4 通信協議
7.3 客戶端
7.3.1 一次會話的創建過程
7.3.2 服務器地址列表
7.3.3 ClientCnxn:網絡I/O
7.4 會話
7.4.1 會話狀態
7.4.2 會話創建
7.4.3 會話管理
7.4.4 會話清理
7.4.5 重連
7.5 服務器啟動
7.5.1 單機版服務器啟動
7.5.2 集群版服務器啟動
7.6 Leader選舉
7.6.1 Leader選舉概述
7.6.2 Leader選舉的算法分析
7.6.3 Leader選舉的實現細節
7.7 各服務器角色介紹
7.7.1 Leader
7.7.2 Follower
7.7.3 Observer
7.7.4 集群間消息通信
7.8 請求處理
7.8.1 會話創建請求
7.8.2 SetData請求
7.8.3 事務請求轉發
7.8.4 GetData請求
7.9 數據與存儲
7.9.1 內存數據
7.9.2 事務日志
7.9.3 snapshot——數據快照
7.9.4 初始化
7.9.5 數據同步
小結
第8章 ZooKeeper運維
8.1 配置詳解
8.1.1 基本配置
8.1.2 高級配置
8.2 四字命令
8.3 JMX
8.3.1 開啟遠程JMX
8.3.2 通過JConsole連接ZooKeeper
8.4 監控
8.4.1 實時監控
8.4.2 數據統計
8.5 構建一個高可用的集群
8.5.1 集群組成
8.5.2 容災
8.5.3 擴容與縮容
8.6 日常運維
8.6.1 數據與日志管理
8.6.2 Too many connections
8.6.3 磁盤管理
小結
附錄A Windows平台上部署ZooKeeper
附錄B 從源代碼開始構建
附錄C 各發行版本重大更新記錄
附錄D ZooKeeper源代碼閱讀指引
網路書店 類別 折扣 價格
  1. 新書
    $450