Zookeeper实现注册与发现
生活随笔
收集整理的這篇文章主要介紹了
Zookeeper实现注册与发现
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
1.Zookeeper的數據模型
? ? ? (1) Zookeeper的數據模型,類似于樹形結構:
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ??
? ? ?(2) Zookeeper的每一個節點成為稱為Znode,主要用來存儲數據。
? ? ? ? ? ?
? ? ?(3) Znode的引用方式是路徑引用,例如:
? ? ? ? ? ?/core/UserCoreService
2.Zookeeper的事件通知
? ? ? Watch相當于注冊在特定Znode上的觸發器,當該Znode中執行寫操作時,服務端會異步通知客戶端。
? ? ? 具體的交互過程:
- 客戶端調用 getData() 方法,watch參數是true。服務器接收到請求,返回節點數據,并且在對應的哈希表里插入被 Watch的Znode路徑,以及Watcher列表。
- 當被Watch的Znode已刪除,服務端會查找哈希表,找到該Znode對應的所有Watcher,異步通知客戶端,并且刪除哈希表中對應的key-value;
3.實現注冊與發現
? ? ? (1)注冊
? ? ? ? ? ? 提供者將自身信息(ip,port,權重等)注冊到zookeeper上。zookeeper為其創建一個Znode,該節點的data中保存提供者的信息。
? ? ? (2)發現
? ? ? ? ? ? 消費者根據路徑參數去zookeeper中getData()自己需要調用的提供者信息,將服務注冊信息緩存到本地。
轉載于:https://www.cnblogs.com/zhouzhile/p/11194439.html
創作挑戰賽新人創作獎勵來咯,堅持創作打卡瓜分現金大獎總結
以上是生活随笔為你收集整理的Zookeeper实现注册与发现的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: POI获取WORD信息
- 下一篇: 闭包与装饰器