【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
相关推荐
qq_401700417 小时前
Linux设备树详解
linux·运维·服务器
凯凯姜7 小时前
分布式锁场景问题
分布式
云梦谭7 小时前
让 Linux 主动连接 Windows:配置 Windows 11 SSH 服务端
linux·windows·ssh
刚入门的大一新生7 小时前
Linux-信号
linux·运维·服务器
每天一道题10 小时前
CAP、Raft 与多数派:分布式系统如何达成一致?
分布式·后端·微服务
GeW12 小时前
新质生产力路线图解读:数据库性能优化与Linux调优专场
linux
方方洛12 小时前
ray教程-18-性能调优与反模式
人工智能·分布式·机器学习
mounter62512 小时前
深入理解 gccrs:GCC 如何实现 Rust 编译器,以及编译 Linux 内核面临的挑战
linux·驱动开发·rust
垚垚学技术_聚焦云原生12 小时前
Ansible Playbook 进阶:when 条件、loop 循环、handlers 触发器落地
linux·ansible·自动化运维·devops
无足鸟ICT13 小时前
【RHCA+】type命令(判断命令类型)
linux·ssh·bash