客户端,可以通过在znode上设置watch,实现实时监听znode的变化

Watch事件是一个一次性的触发器,当被设置了Watch的数据发生了改变的时候,则服务器将这个改变发送给设置了Watch的客户端

  • 父节点的创建,修改,删除都会触发Watcher事件
  • 子节点的创建,删除会触发Watcher事件

一次性:一旦被触发就会移除,再次使用需要重新注册,因为每次变动都需要通知所有客户端,一次性可以减轻压力,3.6.0默认持久递归,可以触发多次

轻量: 只通知发生了事件,不会告知事件内容,减轻服务器和带宽压力

Watcher机制包括三个角色:客户端线程,客户端的WatchManager以及Zookeeper服务器

  1. 客户端向Zookerper服务器注册一个Watcher监听
  2. 把这个监听信息存储到客户端的WatchManager中
  3. 当Zookeeper中的节点发生变化时,会通知客户端,客户端会调用相应Watcher对象中的回调方法。watch回调是串行同步的。

Zookeeper watch机制相关推荐

  1. 2021年大数据ZooKeeper(六):ZooKeeper选举机制

    目录 ​​​​​​ZooKeeper选举机制 概念 全新集群选举 非全新集群选举 ZooKeeper选举机制 zookeeper默认的算法是FastLeaderElection,采用投票数大于半数则胜 ...

  2. 学习笔记:Zookeeper选举机制

    1.Zookeeper选举机制 Zookeeper虽然在配置文件中并没有指定master和slave 但是,zookeeper工作时,是有一个节点为leader,其他则为follower Leader ...

  3. zookeeper watch java_Apache ZooKeeper Watcher 机制源码解释

    分布式系统从根本上来说就是不同节点上的进程并发执行,并且相互之间对进程的行为进行协调处理的过程.不同节点上的进程互相协调行为的过程叫做分布式同步.许多分布式系统需要一个进程作为任务的协调者,执行一些其 ...

  4. ZooKeeper只完美解决Unable to read additional data from server sessionid 0x0报错问题,并带你深度理解ZooKeeper内部机制之选举机制

    ZooKeeper只完美解决Unable to read additional data from server sessionid 0x0报错问题,并带你深度理解ZooKeeper内部机制之选举机制 ...

  5. Zookeeper同步机制!!!

    优点:解决方案.处理问题能力.架构优化/拓展能力 零.Zookeeper事务 事务id(主从同步Id-每次ack递增+1,64位存储(32位纪元号-leader号,32位自增号)) 每一个操作都将使节 ...

  6. ZooKeeper的实践(一):ZooKeeper仲裁机制

    ZooKeeper仲裁机制 概述 仲裁 深入分析节点的数量问题 总结 概述 zk服务器运行模式分成两种: 独立模式 仲裁模式 如果是用独立模式(standalone),则zk的状态是无法进行复制的,这 ...

  7. Zookeeper watch机制原理

    Zookeeper watch机制原理 准备工作 watch示例 源码解析 总结 准备工作 经过上一小节的学习我们知道ZookeeperServerMain是单机版的服务器主类 我们可以自己写一个Zk ...

  8. Apache ZooKeeper - Watch 机制的底层原理

    文章目录 Watch 机制 API 使用 Watch 机制的底层原理 客户端 Watch 注册实现过程 ZKWatchManager 服务端 Watch 注册实现过程 WatchManager 服务端 ...

  9. Zookeeper选举机制测试

    集群分布式 三台物理机为112.113.114 112,为leader 113,为follower 114,为follower 宕机测试 比如,112宕机,关闭112服务器 检测到主节点宕机,113. ...

最新文章

  1. Android添加权限大讲解
  2. node.js中模块_在Node.js中需要模块:您需要知道的一切
  3. python埋点自动化_iOS自动化埋点的实现
  4. 为什么手机垃圾就是治不了?
  5. python教程:%s、%d、%f的使用
  6. 详解华为交换机iStack特性
  7. JDK6 中队web service的支持
  8. 后端程序员必备:索引失效的十大杂症
  9. 资源放送丨《MySQL的查询与优化》PPT视频
  10. python FastDFS
  11. JavaScript学习——JavaScript 条件 语句 switch语句 while语句
  12. 整理了一下国外的搜索引擎 名字以及IP地址
  13. 华为人才选拔的管理实践
  14. PCB多层板为什么都是偶数层
  15. 图像语义分割实践(三)模型搭建与实现
  16. Oracle DB 备份和恢复的概念
  17. 超动感,百行Python代码制作动态气泡图
  18. android usb ftdi,android-Nexus7 USB主机FTDI设备未检测到
  19. 【Java每日编程小练习 2021-01-21】 幸运手机号的简单产生
  20. Firefox火狐下载的文件名含空格时,无法显示完整文件名

热门文章

  1. python处理图片文件_python 学习(二)处理图片、TXT文档
  2. 病毒组研究的挑战-相关的新兴技术
  3. 高级转录组分析和R数据可视化(2020.2,课程推迟,可先报名,时间另行告知)
  4. Android旋转视频工具类,Android开发实现的IntentUtil跳转多功能工具类【包含视频、音频、图片、摄像头等操作功能】...
  5. R语言使用unzip函数解压压缩文件(Extract or List Zip Archives)
  6. R语言caret包构建机器学习回归模型(regression model)、使用DALEX包进行模型解释分析、特征重要度、偏依赖分析等
  7. python编写自定义函数计算一维numpy数组中与指定目标数值最接近(距离最近)的数值(find closest value in numpy array to a certain value)
  8. R语言sub函数和gsub函数替换(replace)匹配的字符串实战
  9. 数据治理(Data Governance)
  10. 代理 设置wsl_第一次使用WSL我做了什么