Zookeeper基于Java访问-节点事件监听
Watcher監(jiān)聽機制是Zookeeper中非常重要的特性,我們基于zookeeper上創(chuàng)建的節(jié)點,可以對這些節(jié)點綁定監(jiān)聽事件,比如可以監(jiān)聽節(jié)點數(shù)據(jù)變更、節(jié)點刪除、子節(jié)點狀態(tài)變更等事件,通過這個事件機制,可以基于zookeeper實現(xiàn)分布式鎖、集群管理等功能
watcher機制有一個特性:當(dāng)數(shù)據(jù)發(fā)生改變的時候,那么zookeeper會產(chǎn)生一個watch事件并發(fā)送到客戶端,但是客戶端只會收到一次這樣的通知,如果以后這個數(shù)據(jù)再發(fā)生變化,那么之前設(shè)置watch的客戶端不會再次收到消息。因為他是一次性的;如果要實現(xiàn)永久監(jiān)聽,可以通過循環(huán)注冊來實現(xiàn)
curator對節(jié)點事件監(jiān)聽提供了很完善的api,接下來簡單演示一下curator事件監(jiān)聽的基本使用
<dependency> <groupId>org.apache.curator</groupId> <artifactId>curator-recipes</artifactId> <version>4.0.0</version> </dependency>Curator提供了三種Watcher來監(jiān)聽節(jié)點的變化
. PathChildCache:監(jiān)視一個路徑下孩子結(jié)點的創(chuàng)建、刪除、更新。
. NodeCache:監(jiān)視當(dāng)前結(jié)點的創(chuàng)建、更新、刪除,并將結(jié)點的數(shù)據(jù)緩存在本地。?
. TreeCache:PathChildCache和NodeCache的“合體”,監(jiān)視路徑下的創(chuàng)建、更新、刪除事件,并緩存路徑下所有孩子結(jié)點的數(shù)據(jù)。
?
總結(jié)
以上是生活随笔為你收集整理的Zookeeper基于Java访问-节点事件监听的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Zookeeper基于Java访问-权限
- 下一篇: java美元兑换,(Java实现) 美元