zookeeper中的寫入(write)操作是原子性和永續性的。 寫入到大多數zookeeper伺服器上的永續性儲存中,可以保證寫操作成功。 無論如何,zookeeper的最終一致性模型允許讀取(read)zookeeper服務的最新狀態,並且同步(sync)操作允許客戶端更新zookeeper服務的最新狀態。
znode中的讀取(read)操作(如exists
,getchildren
和getdata
)允許在其上設定監視。 另一方面,由znode的寫入(write)操作觸發的監視(如create
,delete
和setdata
acl操作)並不會有監控的參與。
以下是在znode狀態更改期間可能發生的監視事件的型別:
監視事件的型別取決於監視和觸發監視的操作。 關於三個主要操作如何產生事件的一些關鍵資訊如下表所示:
操作事件生成操作
exists
znode被建立或刪除,或其資料被更新
getchildren
znode的子節點被建立或刪除,或者znode本身被刪除
getdata
znode被刪除或其資料被更新
監視事件包括生成事件的znode的路徑。 因此,客戶端可以通過檢查znode的路徑來找到nodecreated
和nodedeleted
事件的znode建立和刪除。 要發現nodechildrenchanged
事件後哪些子節點發生了變化,必須呼叫getchildren
操作來檢索新的子節點列表。 同樣,為了發現nodedatachanged
事件的新資料,必須呼叫getdata
方法。
zookeeper從其資料模型的角度提供了一系列的保證,並在其基礎上構建了監視底層建設,從而實現了其他分布式協調原語的簡單,快速和可擴充套件的構建:
ZooKeeper如何設定監視點
zookeeper的api中的所有讀操作 getdata getchildren和exists,均可以選擇在讀取的znode節點上設定監視點。使用監視點機制,需要實現watcher介面類,實現其中的方法如下 public void process watchedevent event watched...
Zookeeper的安裝和基本操作
一 zookeeper簡介 1 安裝環境 4 解壓。解壓到需要安裝的目錄下 解壓命令 tar zxf apache zookeeper 3.5.8.tar.gz c data 解壓之後的目錄如下,根據版本可能會有一些小的差別 5 進入conf目錄,建立乙個名為 zoo.cfg 的檔案 可複製zoo ...
zookeeper簡易操作
3 常用命令 3.1.啟動zk服務 bin zkserver.sh start 3.2.檢視zk服務狀態 bin zkserver.sh status 3.3 停止zk服務 bin zkserver.sh stop 3.4.重啟zk服務 bin zkserver.sh restart 3.5 連線伺...