zookeeper資料模型和層次命名空間
提供的命名空間與標準的檔案系統非常相似。乙個名稱是由通過斜線分隔開的路徑名序列所組成的。zookeeper中的每乙個節點是都通過路徑來識別。
下圖是zookeeper中節點的資料模型,這種樹形結構的命名空
間操作方便且易於理解。
圖:zookeeper層次命名空間
zookeeper中節點和臨時節點
zookeeper的節點是通過像樹一樣的結構來進行維護的,並且每乙個節點通過路徑來標示以及訪問。除此之外,每乙個節點還擁有自身的一些資訊,包括:資料、資料長度、建立時間、修改時間等等。從這樣一類既含有資料,又作為路徑表標示的節點的特點中,可以看出,zookeeper的節點既可以被看做是乙個檔案,又可以被看做是乙個目錄,它同時具有二者的特點。為了便於表達,今後我們將使用znode來表示所討論的zookeeper節點。
具體地說,znode維護著資料、acl(access control list,訪問控制列表)、時間戳等交換版本號等資料結構,它通過對這些資料的管理來讓快取生效並且令協調更新。每當znode中的資料更新後它所維護的版本號將增加,這非常類似於資料庫中計數器時間戳的操作方式。
另外znode還具有原子性操作的特點:命名空間中,每乙個znode的資料將被原子地讀寫。讀操作將讀取與znode相關的所有資料,寫操作將替換掉所有的資料。除此之外,每乙個節點都有乙個訪問控制列表,這個訪問控制列表規定了使用者操作的許可權。
zookeeper中同樣存在臨時節點。這些節點與session同時存在,當session生命週期結束,這些臨時節點也將被刪除。臨時節點在某些場合也發揮著非常重要的作用。
ZooKeeper資料模型
zookeeper中可以建立一些節點,每乙個節點都唯一對應著乙個用斜線分割的絕對路徑,可以稱之為節點路徑。並且可以為節點關聯相應的資料。這些節點構成類似於檔案系統的樹形一樣的層次結構。在zookeeper中,沒有使用相對路徑的節點。除了下面幾種情況,任何unicode字元都可以作為節點路徑的一部分 ...
Zookeeper的資料模型
乙個樹形結構,類似前端開發中的tree.js元件 或者 資料模型 可以理解為linux或者unix的檔案目錄 每乙個節點,稱為znode 可以有子節點,也可以有資料 每個節點,分為臨時節點和永久節點 臨時節點,在客戶端埠之後消失 每個節點,都有各自的版本號 可以通過命令列,顯示節點資訊 每當節點資料...
3 zookeeper 基本資料模型
是乙個樹形結構,類似於前端開發中的tree.js元件 zk的資料模型也可以理解為linux unix的檔案目錄 usr local 每乙個節點都稱之為znode,它可以有子節點,也可以有資料 每個節點分為臨時節點和永久節點,臨時節點在客戶端斷開後消失 每個zk節點都有各自的版本號,可以通過命令列來顯...