【Zookeeper】监听器原理

1 监听原理详解

  1. 首先要有一个main()线程
  2. 在main线程中创建Zookeeper客户端,这时就会创建两个线程,一个负责网络连接通信,一个负责监听
  3. 通过connect线程将注册的监听事件发送给Zookeeper
  4. 在zookeeper的注册监听器列表中将注册的监听事件添加到列表中
  5. zookeeper监听到有数据或路径变化,就会将这个消息发送给listener线程
  6. listener线程内部调用了process()方法

2 常见的监听

监听节点数据的变化

在master主机上注册监听/sanguo节点数据变化

get -w /sanguo

在slave1主机上修改/sanguo节点的数据
set /sanguo "xisi"

观察master主机收到数据变化的监听

注意:在slave1上再多次修改/sanguo的值,master上不会再收到监听,因为注册一次,只能监听一次,想再次监听,需再次注册

监听子节点增减的变化

在master主机上注册监听/sanguo节点的子节点变化

复制代码
ls -w /sanguo

在slave1主机/sanguo节点上创建子节点

复制代码
create /sanguo/jin "simayi" 

观察master主机收到子节点变化的监听

节点删除与查看

删除节点

复制代码
delete /sanguo/jin

递归删除节点

复制代码
deleteall /sanguo  /shuguo

查看节点状态

复制代码
stat /sanguo
相关推荐
Zach_yuan1 小时前
深入浅出 JSONCpp
linux·服务器·网络·c++
北京迅为2 小时前
《【北京迅为】itop-3568开发板NPU使用手册》- 第 7章 使用RKNN-Toolkit-lite2
linux·人工智能·嵌入式·npu
Dragon~Snow2 小时前
Linux Centos9 安装 Elasticsearch
linux·elasticsearch·jenkins
熊延2 小时前
麒麟V10系统安装部署elasticsearch
linux·运维·服务器·elasticsearch·搜索引擎·全文检索
Jia ming2 小时前
跟踪器与事件使用举例
linux·事件·跟踪器
生活很暖很治愈3 小时前
Linux——基础IO&软硬链接
linux·ubuntu
2401_858936883 小时前
【Linux C 编程】标准 IO 详解与实战:从基础接口到文件操作实战
linux·c语言
Roc.Chang3 小时前
Ubuntu 下 VLC 无法启动(Segmentation fault)终极解决方案
linux·ubuntu·vlc·媒体播放
松涛和鸣3 小时前
72、IMX6ULL驱动实战:设备树(DTS/DTB)+ GPIO子系统+Platform总线
linux·服务器·arm开发·数据库·单片机
简单中的复杂4 小时前
【避坑指南】RK3576 Linux SDK 编译:解决 Buildroot 卡死在 host-gcc-final 的终极方案
linux·嵌入式硬件