ZooKeeper 官方教程[翻譯]

Fromhtml

簡介

這篇文章是爲想借助 ZK 協調服務,建立分佈式應用的開發者們準備的。它包含核心概念和實踐兩部分。node

這篇文章的前四部分抽象的討論了 ZK 的一些概念。這些概念是理解並使用 ZK 所必須的。由以下幾部分:apache

  • ZooKeeper 數據模型
  • ZooKeeper 會話
  • ZooKeeper Watches
  • 一致性擔保(Consistency Guarantees)

接下來的四部分提供了實用的編程內容:編程

  • 建立節點:ZooKeeper 操做指南
  • 綁定(Bindings)
  • 程序模型和簡單示例[官網並無展現,讓自行查找]
  • 常見問題和解決

絕大部份內容能夠看成獨立的參考材料。然而,在開始編寫 ZooKeeper 程序以前,你應該至少閱讀ZK數據模型和基本操做章節。緩存

ZooKeeper 數據模型

ZooKeeper 擁有一個有層次的命名空間,跟文件系統很像。惟一的不一樣是,ZK 中的每一個節點既能記錄數據,又能擁有子節點。好像是容許文件能看成目錄的文件系統。到節點的路徑老是以 / 分割的絕對路徑,沒有相對路徑這回事。【以後官網給出了路徑名的一些限制條件,我的感受就跟學編程語言時的變量命名規則同樣,知或不知都無妨。】編程語言

ZNode

ZooKeeper 目錄樹中的節點被稱爲 Znode。Znode 維護着一個包含數據改變的版本號、acl 等組成的 stat 結構體。版本號和時間戳容許 ZooKeeper 驗證緩存和協調更新。每次 Znode 數據更新,版本號都會增長。例如,當客戶端獲取數據時,它同時也會獲取數據的版本。當客戶端刪除或更新數據時,必須提交這個節點的版本。默認狀況下,若是提交的這個版本號不與當前版本一致,更新就會失敗。分佈式

相關文章
相關標籤/搜索