【Zookeeper客户端常用的命令&&Zookeeper的核心功能之事件监听】
知识回顾
知识回顾:
之前我们学习了【Docker安装部署Zookeeper集群】,以及关于zookeeper的一些面试常考的点(需要学习的请请点击这里看专栏呦),【Zookeeper客户端常用的命令&&Zookeeper的核心功能之节点数据存储】
接下我们来学习一下Zookeeper客户端常用的命令&&Zookeeper的核心功能之事件监听。
Zookeeper的核心功能之事件监听
数据改变的监听(监听器只触发一次)
监听的是节点中的内容改变了就会触发,针对的是具体的某个节点的信息,设置对某个节点内容改变的监听。此时是在node2节点。 get -w /node5
[zk: localhost:2181(CONNECTED) 0] ls /
[node1, node2, node3, node4, zookeeper]
[zk: localhost:2181(CONNECTED) 1] create /node5 message
Created /node5
[zk: localhost:2181(CONNECTED) 2] get /node5
message
[zk: localhost:2181(CONNECTED) 4] get -w /node5
message
[zk: localhost:2181(CONNECTED) 5] stat /node5
cZxid = 0x100000036
ctime = Wed Oct 19 07:32:31 UTC 2022
mZxid = 0x100000036
mtime = Wed Oct 19 07:32:31 UTC 2022
pZxid = 0x100000036
cversion = 0
dataVersion = 0
aclVersion = 0
ephemeralOwner = 0x0
dataLength = 7
numChildren = 0
然后我们在node1节点上set /node5 change,进行修改节点上的信息,触发监听器。
[zk: zookeeper-node2(CONNECTED) 9] ls /
[node1, node2, node3, node4, node5, zookeeper]
[zk: zookeeper-node2(CONNECTED) 10] set /node5 change
[zk: zookeeper-node2(CONNECTED) 11] get /node5
change
[zk: zookeeper-node2(CONNECTED) 12]
触发watch后,node1上显示的效果如下图所示:
子节点改变的监听
给查看node5节点下的子节点绑定监听事件,然后在/node5下创建子节点,触发监听
[zk: localhost:2181(CONNECTED) 9] ls -w /node5
[]
[zk: localhost:2181(CONNECTED) 10] create /node5/node5
WATCHER::
WatchedEvent state:SyncConnected type:NodeChildrenChanged path:/node5
Created /node5/node5
[zk: localhost:2181(CONNECTED) 11]
效果展示:
最终的事情说三遍,不会的命令一定要记得看操作文档,使用help命令。
help
好了,到这里【Zookeeper客户端常用的命令&&Zookeeper的核心功能之事件监听】就学习完了~~,更多内容持续创作中,我们一起加油!!!