什么是zookeeper
zookeeper是一個分布式協調工具(JAVA語言編寫的開源框架)
zookeeper應用場景
- 命名服務(注冊中心)Dubbo注冊中心
- 分布式配置中心(SpringCloud config)動態管理配置文件信息
- 消息中間件 時間通知(累死與發布訂閱功能)
- zookeeper分布式事務(全局協調者)
- zookeeper實現分布式鎖
- zookeeper實現選舉策略(哨兵機制)
- zookeeper實現本地動態負載均衡(Dubbo服務負載均衡實現原理)
- 消息中間集群管理
zookeeper存儲結構
zookeeper以節點方式進行存儲,類似XML樹狀結構
- node的劃分方式,node(節點)節點路徑,節點value
2.節點名稱,保證node同一層要唯一
3.節點類型(臨時和持久)
持久點:創建節點的永久的持久化在硬盤上
臨時節點:當前節點和繪畫連接保持,如果連接斷開那么節點會被自動刪除(分布式鎖原理底層用的就是臨時節點)
節點時間通知:每個節點都有時間通知,對節點發生的刪除,修改添加都有事件通知,類似與消息中間件功能。