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

從Paxos到Zookeeper(分散式一致性原理與實踐)

  • 作者:倪超|責編:徐津平
  • 出版社:電子工業
  • ISBN:9787121249679
  • 出版日期:2015/02/01
  • 裝幀:平裝
  • 頁數:422
人民幣:RMB 99 元      售價:
放入購物車
加入收藏夾

內容大鋼
    本書從分散式一致性的理論出發,向讀者簡要介紹幾種典型的分散式一致性協議,以及解決分散式一致性問題的思路,其中重點講解了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服務。

作者介紹
倪超|責編:徐津平
    倪超,阿里巴巴集團高級研發工程師,國家認證系統分析師,2011年畢業於杭州電子科技大學電腦系。自2010年以實習生身份加入中間件團隊后,就一直從事ZooKeeper的開發與運維工作,從中學習與總結了不少分散式一致性相關的理論與實踐經驗,尤其對ZooKeeper及其相關技術有非常深入的研究。目前在中間件團隊專家組任職產品經理,負責分散式產品的產品化和雲計算化改造工作。     有任何問題,請聯繫微博:@ni掌柜,或者微信:nileader

目錄
第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源代碼閱讀指引

  • 商品搜索:
  • | 高級搜索
首頁新手上路客服中心關於我們聯絡我們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