每個節點除了存儲數據內容之外,還存儲了數據節點本身的一些狀態信息,通過get命令可以獲得狀態信息的詳細內容。
狀態屬性 | 說明 |
---|---|
czxid | 即Created ZXID,表示該數據節點被創建時的事務ID |
mzxid | 即Modified ZXID,表示該節點最後一次被更新時的事務ID |
ctime | 即Created Time,表示節點被創建的時間 |
mtime | 即Modified Time,表示該節點最後一次被更新的時間 |
version | 數據節點的版本號 |
cversion | 子結點的版本號 |
aversion | 節點的ACL版本號 |
ephemeralOwner | 創建該臨時節點的會話的sessionID。如果該節點是持久節點,那麼這個屬性值爲0 |
dataLength | 數據內容的長度 |
numChildren | 當前節點的子節點個數 |
pzxid | 表示該節點的子節點裏欸包最後一次被修改時的事務ID。注意,只有子節點列表變更了纔會變更pzxid,子節點內容變更不會影響pzxid |
版本-保證分佈式數據原子性
zookeeper爲數據節點引入了版本的概念,每個數據節點都有三類版本信息,對數據節點任何更新操作都會引起版本號的變化,類似樂觀鎖。
版本類型 | 說明 |
---|---|
version | 當前數據節點數據內容的版本號 |
cversion | 當前數據節點子節點的版本號 |
aversion | 當前數據節點ACL變更版本號 |