複製鏈接
請複製以下鏈接發送給好友

ZooKeeper

(2016年機械工業出版社出版的圖書)

鎖定
《ZooKeeper》是2016年機械工業出版社出版的圖書,作者是Flavio Junqueira,本書分三部分,共10章。部分(第1~2章)闡述ApacheZooKeeper這類系統的設計目的和動機,並介紹分佈式系統的一些必要背景知識。
中文名
ZooKeeper
作    者
Flavio Junqueira
出版社
機械工業出版社
ISBN
9787111524311 [1] 

ZooKeeper內容簡介

本書分三部分,共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進行配置。

ZooKeeper圖書目錄

目錄
前言 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

ZooKeeper作者簡介

作者介紹Flavio Junqueira 是微軟研究院在英國劍橋大學的研究人員之一。他擁有美國加州大學聖地亞哥分校計算機科學博士學位。他的研究範圍涉及分佈式系統的各個方面,包括分佈式算法、併發性和可擴展性。他是Apache項目如Apache ZooKeeper(PMC主席和提交者)和Apache BookKeeper(提交者)的積極貢獻者。他一有空就喜歡睡覺。
Benjamin Reed 是一位負責Facebook中所有細節工作的軟件工程師。他以前的職位包括雅虎研究院首席研究科學家(負責所有大的方向)和IBM Almaden Research的研究人員(負責所有事情,無論大小)。他擁有加州大學聖克魯斯分校計算機科學博士學位。他從事的工作涉及分佈式計算、大數據處理、分佈式存儲、系統管理和嵌入式框架等領域。他參加了各種開源項目,如Hadoop和Linux操作系統等。他幫助啓動了由Apache軟件基金會主辦的項目如Pig、ZooKeeper和BookKeeper。 [1] 
參考資料