買這商品的人也買了...
-
C++ Primer, 4/e (中文版)$990$891 -
Linux 系統程式設計, 2/e (內容涵蓋 Linux Kernel 3.0) (Linux System Programming: Talking Directly to the Kernel and C Library)$780$616 -
HTML5 遊戲開發-使用 Canvas、Node.js、CSS3、Box2D$550$435 -
$648Hadoop 2.X HDFS源碼剖析 -
Java 9 模組化|可維護應用程式的開發模式與實務 (Java 9 Modularity: Patterns and Practices for Developing Maintainable Applications)$580$458 -
$534Apache Kafka 實戰 -
$450Java 高級程序員面試筆試寶典 -
$359Java 程序員面試筆試通關寶典 -
$474分析模式:可復用的對象模型 -
Kent Beck 的測試驅動開發:案例導向的逐步解決之道 (Test-Driven Development: By Example)(TDD)$560$437 -
$331分佈式系統開發實戰 -
NoSQL 開發完美方案:Redis + Docker 高性能虛擬化實戰$1,200$948 -
$422智能風控平臺:架構、設計與實現 -
$507智能風控:評分卡建模原理、方法與風控策略構建 -
鯨游藍海 ─ 鈦坦科技的敏捷之路$350$315 -
$568DevOps 權威指南 : IT 效能新基建 -
複雜架構極簡化:領域驅動設計(DDD)10倍程式開發速度$1,000$790 -
Python 投資停看聽:運用 Open data 打造自動化燈號,學會金融分析精準投資法(iT邦幫忙鐵人賽系列書)$600$468 -
$455接口測試方法論 -
$454ZooKeeper + Dubbo3 分佈式高性能 RPC 通信 -
$787Java 高並發核心編程 捲1:NIO、Netty、Redis、ZooKeepe (加強版) -
$713Linux 高性能網絡詳解:從 DPDK、RDMA 到 XDP -
深入淺出 Git (Head First Git: A Learner's Guide to Understanding Git from the Inside Out)$780$616 -
Kafka 實戰$539$512 -
Pragmatic TDD:以 DDD 寫出鬆散耦合、文件化和高品質的程式碼 (Pragmatic Test-Driven Development in C# and .NET: Write loosely coupled, documented, and high-quality code with DDD using familiar tools and libraries)$720$562
中文年末書展|繁簡參展書2書75折 詳見活動內容 »
-
75折
為你寫的 Vue Components:從原子到系統,一步步用設計思維打造面面俱到的元件實戰力 (iThome 鐵人賽系列書)$780$585 -
75折
BDD in Action, 2/e (中文版)$960$720 -
75折
看不見的戰場:社群、AI 與企業資安危機$750$563 -
79折
AI 精準提問 × 高效應用:DeepSeek、ChatGPT、Claude、Gemini、Copilot 一本搞定$390$308 -
7折
超實用!Word.Excel.PowerPoint 辦公室 Office 365 省時高手必備 50招, 4/e (暢銷回饋版)$420$294 -
75折
裂縫碎光:資安數位生存戰$550$412 -
日本當代最強插畫 2025 : 150位當代最強畫師豪華作品集$640$576 -
79折
Google BI 解決方案:Looker Studio × AI 數據驅動行銷實作,完美整合 Google Analytics 4、Google Ads、ChatGPT、Gemini$630$498 -
79折
超有料 Plus!職場第一實用的 AI 工作術 - 用對 AI 工具、自動化 Agent, 讓生產力全面進化!$599$473 -
75折
從零開始學 Visual C# 2022 程式設計, 4/e (暢銷回饋版)$690$518 -
75折
Windows 11 制霸攻略:圖解 AI 與 Copilot 應用,輕鬆搞懂新手必學的 Windows 技巧$640$480 -
75折
精準駕馭 Word!論文寫作絕非難事 (好評回饋版)$480$360 -
Sam Yang 的插畫藝術:用 Procreate / PS 畫出最強男友視角 x 女孩美好日常$699$629 -
79折
AI 加持!Google Sheets 超級工作流$599$473 -
78折
想要 SSR? 快使用 Nuxt 吧!:Nuxt 讓 Vue.js 更好處理 SEO 搜尋引擎最佳化(iThome鐵人賽系列書)$780$608 -
78折
超實用!業務.總管.人資的辦公室 WORD 365 省時高手必備 50招 (第二版)$500$390 -
7折
Node-RED + YOLO + ESP32-CAM:AIoT 智慧物聯網與邊緣 AI 專題實戰$680$476 -
79折
「生成式⇄AI」:52 個零程式互動體驗,打造新世代人工智慧素養$599$473 -
7折
Windows APT Warfare:惡意程式前線戰術指南, 3/e$720$504 -
75折
我輩程式人:回顧從 Ada 到 AI 這條程式路,程式人如何改變世界的歷史與未來展望 (We, Programmers: A Chronicle of Coders from Ada to AI)$850$637 -
75折
不用自己寫!用 GitHub Copilot 搞定 LLM 應用開發$600$450 -
79折
Tensorflow 接班王者:Google JAX 深度學習又快又強大 (好評回饋版)$780$616 -
79折
GPT4 會你也會 - 共融機器人的多模態互動式情感分析 (好評回饋版)$700$553 -
79折
技術士技能檢定 電腦軟體應用丙級術科解題教本|Office 2021$460$363 -
75折
Notion 與 Notion AI 全能實戰手冊:生活、學習與職場的智慧策略 (暢銷回饋版)$560$420
相關主題
商品描述
<內容簡介>
倪超編著的《從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服務。
<章節目錄>
第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源代碼閱讀指引
<作者介紹>
倪超
倪超,阿裡巴巴集團高級研發工程師,國家認證系統分析師,畢業於杭州電子科技大學電腦系。2010年加入阿裡巴巴中間件團隊擔任研發實習崗位,一直從事ZooKeeper的開發與運維工作,從中學習與總結了不少分佈式一致性相關的理論與實踐經驗,尤其對ZooKeeper及其相關技術有非常深入的研究。目前在中間件團隊專家組任職產品經理,負責分佈式產品的產品化和雲計算化改造工作。 新浪微博:@ni掌櫃
目錄大綱
目錄 第1章 分佈式架構 1 1.1 從集中式到分佈式 1 1.1.1 集中式的特點 2 1.1.2 分佈式的特點 2 1.1.3 分佈式環境的各種問題 4 1.2 從ACID到CAP/BASE 5 1.2.1 ACID 5 1.2.2 分佈式事務 8 1.2.3 CAP和BASE理論 9 小結 15 第2章 一致性協議 17 2.1 2PC與3PC 17 2.1.1 2PC 17 2.1.2 3PC 21 2.2 Paxos算法 24 2.2.1 追本溯源 25 2.2.2 Paxos理論的誕生 26 2.2.3 Paxos算法詳解 27 小結 37 第3章 Paxos的工程實踐 39 3.1 Chubby 39 3.1.1 概述 39 3.1.2 應用場景 40 3.1.3 設計目標 40 3.1.4 Chubby技術架構 43 3.1.5 Paxos協議實現 52 3.2 Hypertable 55 3.2.1 概述 55 3.2.2 算法實現 57 小結 58 第4章 ZooKeeper與Paxos 59 4.1 初識ZooKeeper 59 4.1.1 ZooKeeper介紹 59 4.1.2 ZooKeeper從何而來 62 4.1.3 ZooKeeper的基本概念 62 4.1.4 為什麼選擇ZooKeeper 64 4.2 ZooKeeper的ZAB協議 65 4.2.1 ZAB協議 65 4.2.2 協議介紹 66 4.2.3 深入ZAB協議 71 4.2.4 ZAB與Paxos算法的聯系與區別 77 小結 78 第5章 使用ZooKeeper 79 5.1 部署與運行 79 5.1.1 系統環境 79 5.1.2 集群與單機 80 5.1.3 運行服務 84 5.2 客戶端腳本 88 5.2.1 創建 88 5.2.2 讀取 89 5.2.3 更新 90 5.2.4 刪除 91 5.3 Java客戶端API使用 91 5.3.1 創建會話 91 5.3.2 創建節點 95 5.3.3 刪除節點 99 5.3.4 讀取數據 100 5.3.5 更新數據 109 5.3.6 檢測節點是否存在 113 5.3.7 權限控制 115 5.4 開源客戶端 120 5.4.1 ZkClient 120 5.4.2 Curator 130 小結 162 第6章 ZooKeeper的典型應用場景 163 6.1 典型應用場景及實現註 163 6.1.1 數據發布/訂閱 164 6.1.2 負載均衡 166 6.1.3 命名服務 170 6.1.4 分佈式協調/通知 173 6.1.5 集群管理 179 6.1.6 Master選舉 185 6.1.7 分佈式鎖 188 6.1.8 分佈式隊列 194 小結 197 6.2 ZooKeeper在大型分佈式系統中的應用 197 6.2.1 Hadoop 198 6.2.2 HBase 203 6.2.3 Kafka 207 6.3 ZooKeeper在阿裡巴巴的實踐與應用 213 6.3.1 案例一 消息中間件:Metamorphosis 213 6.3.2 案例二 RPC服務框架:Dubbo 217 6.3.3 案例三 基於MySQL Binlog的增量訂閱和消費組件:Canal 219 6.3.4 案例四 分佈式數據庫同步系統:Otter 223 6.3.5 案例五 輕量級分佈式通用搜索平臺:終搜 226 6.3.6 案例六 實時計算引擎:JStorm 238 小結 242 第7章 ZooKeeper技術內幕 243 7.1 系統模型 243 7.1.1 數據模型 243 7.1.2 節點特性 244 7.1.3 版本——保證分佈式數據原子性操作 246 7.1.4 Watcher——數據變更的通知 249 7.1.5 ACL——保障數據的安全 265 7.2 序列化與協議 272 7.2.1 Jute介紹 272 7.2.2 使用Jute進行序列化 273 7.2.3 深入Jute 275 7.2.4 通信協議 277 7.3 客戶端 284 7.3.1 一次會話的創建過程 286 7.3.2 服務器地址列表 289 7.3.3 ClientCnxn:網絡I/O 295 7.4 會話 298 7.4.1 會話狀態 298 7.4.2 會話創建 299 7.4.3 會話管理 304 7.4.4 會話清理 307 7.4.5 重連 309 7.5 服務器啟動 311 7.5.1 單機版服務器啟動 312 7.5.2 集群版服務器啟動 315 7.6 Leader選舉 321 7.6.1 Leader選舉概述 321 7.6.2 Leader選舉的算法分析 323 7.6.3 Leader選舉的實現細節 328 7.7 各服務器角色介紹 335 7.7.1 Leader 335 7.7.2 Follower 338 7.7.3 Observer 339 7.7.4 集群間消息通信 339 7.8 請求處理 342 7.8.1 會話創建請求 343 7.8.2 SetData請求 351 7.8.3 事務請求轉發 354 7.8.4 GetData請求 355 7.9 數據與存儲 356 7.9.1 內存數據 356 7.9.2 事務日誌 358 7.9.3 snapshot——數據快照 364 7.9.4 初始化 368 7.9.5 數據同步 372 小結 376 第8章 ZooKeeper運維 379 8.1 配置詳解 379 8.1.1 基本配置 379 8.1.2 高級配置 380 8.2 四字命令 384 8.3 JMX 390 8.3.1 開啟遠程JMX 390 8.3.2 通過JConsole連接ZooKeeper 391 8.4 監控 397 8.4.1 實時監控 397 8.4.2 數據統計 398 8.5 構建一個高可用的集群 398 8.5.1 集群組成 398 8.5.2 容災 399 8.5.3 擴容與縮容 402 8.6 日常運維 402 8.6.1 數據與日誌管理 402 8.6.2 Too many connections 404 8.6.3 磁盤管理 405 小結 405 附錄A Windows平臺上部署ZooKeeper 406 附錄B 從源代碼開始構建 409 附錄C 各發行版本重大更新記錄 414 附錄D ZooKeeper源代碼閱讀指引 418
