ZooKeeper:分布式過程協同技術詳解( 簡體 字) | |
作者:(美)Flavio Junqueira | 類別:1. -> 程式設計 -> 綜合 |
出版社:機械工業出版社 | 3dWoo書號: 43489 詢問書籍請說出此書號! 有庫存 NT售價: 345 元 |
出版日:2/25/2016 | |
頁數:209 | |
光碟數:0 | |
站長推薦: | |
印刷:黑白印刷 | 語系: ( 簡體 字 ) |
ISBN:9787111524311 | 加入購物車 │加到我的最愛 (請先登入會員) |
(簡體書上所述之下載連結耗時費功, 恕不適用在台灣, 若讀者需要請自行嘗試, 恕不保證, 繁體書的下載亦請直接連絡出版社) | |
目錄
前言 1 第一部分 ZooKeeper的概念和基礎 第1章 簡介 7 1.1 ZooKeeper的使命 8 1.1.1 ZooKeeper改變了什么 10 1.1.2 ZooKeeper不適用的場景 10 1.1.3 關于Apache項目 11 1.1.4 通過ZooKeeper構建分布式系統 11 1.2 示例:主-從應用 12 1.2.1 主節點失效 13 1.2.2 從節點失效 14 1.2.3 通信故障 14 1.2.4 任務總結 15 1.3 分布式協作的難點 16 1.4 ZooKeeper的成功和注意事項 18 第2章 了解ZooKeeper 19 2.1 ZooKeeper基礎 19 2.1.1 API概述 20 2.1.2 znode的不同類型 21 2.1.3 監視與通知 22 2.1.4 版本 24 2.2 ZooKeeper架構 25 2.2.1 ZooKeeper仲裁 26 2.2.2 會話 27 2.3 開始使用ZooKeeper 28 2.3.1 第一個ZooKeeper會話 28 2.3.2 會話的狀態和聲明周期 31 2.3.3 ZooKeeper與仲裁模式 33 2.3.4 實現一個原語:通過ZooKeeper實現鎖 36 2.4 一個主-從模式例子的實現 37 2.4.1 主節點角色 37 2.4.2 從節點、任務和分配 40 2.4.3 從節點角色 40 2.4.4 客戶端角色 41 2.5 小結 43 第二部分 使用ZooKeeper進行開發 第3章 開始使用ZooKeeper的API 47 3.1 設置ZooKeeper的CLASSPATH 47 3.2 建立ZooKeeper會話 47 3.2.1 實現一個Watcher 49 3.2.2 運行Watcher的示例 51 3.3 獲取管理權 53 3.3.1 異步獲取管理權 57 3.3.2 設置元數據 60 3.4 注冊從節點 62 3.5 任務隊列化 65 3.6 管理客戶端 66 3.7 小結 68 第4章 處理狀態變化 70 4.1 單次觸發器 71 4.2 如何設置監視點 72 4.3 普遍模型 73 4.4 主-從模式的例子 74 4.4.1 管理權變化 74 4.4.2 主節點等待從節點列表的變化 77 4.4.3 主節點等待新任務進行分配 80 4.4.4 從節點等待分配新任務 83 4.4.5 客戶端等待任務的執行結果 86 4.5 另一種調用方式:Multiop 88 4.6 通過監視點代替顯式緩存管理 90 4.7 順序的保障 91 4.7.1 寫操作的順序 91 4.7.2 讀操作的順序 91 4.7.3 通知的順序 92 4.8 監視點的羊群效應和可擴展性 93 4.9 小結 94 第5章 故障處理 96 5.1 可恢復的故障 98 5.2 不可恢復的故障 102 5.3 群首選舉和外部資源 103 5.4 小結 106 第6章 ZooKeeper注意事項 107 6.1 使用ACL 107 6.1.1 內置的鑒權模式 108 6.1.2 SASL和Kerberos 111 6.1.3 增加新鑒權模式 111 6.2 恢復會話 111 6.3 當znode節點重新創建時,重置版本號 112 6.4 sync方法 112 6.5 順序性保障 114 6.5.1連接丟失時的順序性 114 6.5.2 同步API和多線程的順序性 115 6.5.3 同步和異步混合調用的順序性 115 6.6 數據字段和子節點的限制 116 6.7 嵌入式ZooKeeper服務器 116 6.8 小結 117 第7章 C語言客戶端 118 7.1 配置開發環境 118 7.2 開始會話 119 7.3 引導主節點 121 7.4 行使管理權 126 7.5 任務分配 129 7.6 單線程與多線程客戶端 132 7.7 小結 135 第8章 Curator:ZooKeeper API的高級封裝庫 136 8.1 Curator客戶端程序 136 8.2 流暢式API 137 8.3 監聽器 138 8.4 Curator中狀態的轉換 140 8.5 兩種邊界情況 141 8.6 菜譜 141 8.6.1 群首閂 142 8.6.2 群首選舉器 143 8.6.3 子節點緩存器 146 8.7 小結 148 第三部分 ZooKeeper的管理 第9章 ZooKeeper內部原理 151 9.1 請求、事務和標識符 152 9.2 群首選舉 153 9.3 Zab:狀態更新的廣播協議 157 9.4 觀察者 161 9.5 服務器的構成 162 9.5.1 獨立服務器 163 9.5.2 群首服務器 164 9.5.3 追隨者和觀察者服務器 165 9.6 本地存儲 166 9.6.1 日志和磁盤的使用 166 9.6.2 快照 167 9.7 服務器與會話 169 9.8 服務器與監視點 170 9.9 客戶端 170 9.10 序列化 171 9.11 小結 171 第10章 運行ZooKeeper 173 10.1 配置ZooKeeper服務器 174 10.1.1 基本配置 175 10.1.2 存儲配置 175 10.1.3 網絡配置 177 10.1.4 集群配置 179 10.1.5 認證和授權選項 181 10.1.6 非安全配置 182 10.1.7 日志 183 10.1.8 專用資源 185 10.2 配置ZooKeeper集群 185 10.2.1 多數原則 186 10.2.2 法定人數的可配置性 186 10.2.3 觀察者 188 10.3 重配置 188 10.4 配額管理 194 10.5 多租賃配置 196 10.6 文件系統布局和格式 197 10.6.1 事務日志 198 10.6.2 快照 199 10.6.3 時間戳文件 200 10.6.4 已保存的ZooKeeper數據的應用 200 10.7 四字母命令 201 10.8 通過JMX進行監控 202 10.9 工具 209 10.10 小結 209 本書分三部分,共10章。第一部分(第1~2章)闡述ApacheZooKeeper這類系統的設計目的和動機,并介紹分布式系統的一些必要背景知識。第1章介紹ZooKeeper可以做什么,以及其設計如何支撐這些任務。第2章介紹基本概念和基本組成模塊,并通過命令行工具的具體操作介紹了ZooKeeper可以做什么。第二部分(第3~8章)闡述開發人員所需要掌握的ZooKeeper庫調用方法和編程技巧。第3章介紹Java語言的API.第4章解釋如何跟蹤和處理ZooKeeper中的狀態變更情況。第5章介紹如何在系統或網絡故障時恢復應用。第6章介紹需要注意來避免故障的一些繁雜卻很重要的場景。第7章介紹C語言版的API接口,也可以作為非Java語言實現的ZooKeeperAPI的基礎,對非Java語言的開發人員非常有幫助。第8章介紹一款更高層級的封裝的ZooKeeper接口。第三部分(第9~10章)主要介紹ZooKeeper內部原理及如何運行ZooKeeper.第9章介紹ZooKeeper的作者們在設計時所采用的方案。第10章介紹如何對ZooKeeper進行配置。
|