Zookeeper 節點特性介紹

安全劍客發表於2020-11-03
ZooKeeper 節點是有生命bai週期的,這取決於節點的型別。在 ZooKeeper 中,節點型別可以分為持久節點(PERSISTENT )、臨時節點(EPHEMERAL),以及時序節點(SEQUENTIAL ),具體在節點建立過程中,一般是組合使用。

本章節介紹一下 zookeeper 的節點特性和簡單使用場景,正是由於這些節點特性的存在使 zookeeper 開發出不同的場景應用。

同一級節點 key 名稱是唯一的

例項:

$ ls /
$ create /runoob 2

Zookeeper 節點特性介紹Zookeeper 節點特性介紹
已存在 /runoob 節點,再次建立會提示已經存在。

建立節點時,必須要帶上全路徑

例項:

$ ls /runoob
$ create /runoob/child 0
$ create /runoob/child/ch01 0

Zookeeper 節點特性介紹Zookeeper 節點特性介紹

session 關閉,臨時節點清除

例項:

$ ls /runoob
$ create -e /runoob/echild 0

Zookeeper 節點特性介紹Zookeeper 節點特性介紹
同時終端二檢視該節點:

$ ls /runoob

Zookeeper 節點特性介紹Zookeeper 節點特性介紹
ctrl+c 關閉終端一連線後,查詢終端二 /runoob/echild 節點消失。

$ ls /runoob
自動建立順序節點

例項:

$ create -s -e /runoob 0

Zookeeper 節點特性介紹Zookeeper 節點特性介紹

watch 機制,監聽節點變化

事件監聽機制類似於觀察者模式,watch 流程是客戶端向服務端某個節點路徑上註冊一個 watcher,同時客戶端也會儲存特定的 watcher,當節點資料或子節點發生變化時,服務端通知客戶端,客戶端進行回撥處理。特別注意:監聽事件被單次觸發後,事件就失效了。

提示:參考常用 章節 get  監聽 watch 使用,後面章節將詳細介紹 watch 實現原理。

delete 命令只能一層一層刪除

例項:

$ ls /
$ delete /runoob

Zookeeper 節點特性介紹Zookeeper 節點特性介紹
提示:新版本可以透過 deleteall 命令遞迴刪除。

有了上述眾多節點特性,使得 zookeeper 能開發不出不同的經典應用場景,比如:

  1. 資料釋出/訂閱
  2. 負載均衡
  3. 分散式協調/通知
  4. 叢集管理
  5. 叢集管理
  6. master 管理
  7. 分散式鎖
  8. 分散式佇列

原文地址:

來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/31559985/viewspace-2731950/,如需轉載,請註明出處,否則將追究法律責任。

相關文章