zookeeper是一個文件系統+監聽通知機制。可以實現下面功能:
-
1.Zookeeper是一個數據庫。爲分佈式應用程序提供協調服務。
-
2.Zookeeper是一個擁有文件系統的特點的數據庫。(znode都有完整的路徑,且同節點下面的子節點不能同名)
-
3.Zookeeper是一個解決了數據一致性問題的分佈式數據庫。
- 4.Zookeeper是一個具有發佈和訂閱功能的分佈式數據庫(watch機制)。
zookeeper架構:
- /根節點下每一個節點叫做根節點znode。
- 每一個znode中都可以存儲數據。
- 同一節點下的節點名稱不允許重複。
znode節點類型
- PERSISTENT 永久節點
- EPHEMERAL 臨時節點
- PERSISTENT_SEQUENTIAL 永久節點,序列化
- EPHEMERAL_SEQUENTIAL 臨時節點,序列化
臨時節點Ephemeral特徵:
- 連接客戶端斷開連接、與服務端會話結束,將自動刪除節點。
- 臨時節點不允許擁有子節點。
永久節點Persistent特徵:
客戶端和服務端端開連接後,在服務端上創建的節點不會刪除。該節點的生命週期不依賴於會話,只有在客戶端執行刪除的時候纔會刪除。