Zookeeper watch机制
客户端,可以通过在znode上设置watch,实现实时监听znode的变化
Watch事件是一个一次性的触发器,当被设置了Watch的数据发生了改变的时候,则服务器将这个改变发送给设置了Watch的客户端
- 父节点的创建,修改,删除都会触发Watcher事件
- 子节点的创建,删除会触发Watcher事件
一次性:一旦被触发就会移除,再次使用需要重新注册,因为每次变动都需要通知所有客户端,一次性可以减轻压力,3.6.0默认持久递归,可以触发多次
轻量: 只通知发生了事件,不会告知事件内容,减轻服务器和带宽压力
Watcher机制包括三个角色:客户端线程,客户端的WatchManager以及Zookeeper服务器
- 客户端向Zookerper服务器注册一个Watcher监听
- 把这个监听信息存储到客户端的WatchManager中
- 当Zookeeper中的节点发生变化时,会通知客户端,客户端会调用相应Watcher对象中的回调方法。watch回调是串行同步的。
Zookeeper watch机制相关推荐
- 2021年大数据ZooKeeper(六):ZooKeeper选举机制
目录 ZooKeeper选举机制 概念 全新集群选举 非全新集群选举 ZooKeeper选举机制 zookeeper默认的算法是FastLeaderElection,采用投票数大于半数则胜 ...
- 学习笔记:Zookeeper选举机制
1.Zookeeper选举机制 Zookeeper虽然在配置文件中并没有指定master和slave 但是,zookeeper工作时,是有一个节点为leader,其他则为follower Leader ...
- zookeeper watch java_Apache ZooKeeper Watcher 机制源码解释
分布式系统从根本上来说就是不同节点上的进程并发执行,并且相互之间对进程的行为进行协调处理的过程.不同节点上的进程互相协调行为的过程叫做分布式同步.许多分布式系统需要一个进程作为任务的协调者,执行一些其 ...
- ZooKeeper只完美解决Unable to read additional data from server sessionid 0x0报错问题,并带你深度理解ZooKeeper内部机制之选举机制
ZooKeeper只完美解决Unable to read additional data from server sessionid 0x0报错问题,并带你深度理解ZooKeeper内部机制之选举机制 ...
- Zookeeper同步机制!!!
优点:解决方案.处理问题能力.架构优化/拓展能力 零.Zookeeper事务 事务id(主从同步Id-每次ack递增+1,64位存储(32位纪元号-leader号,32位自增号)) 每一个操作都将使节 ...
- ZooKeeper的实践(一):ZooKeeper仲裁机制
ZooKeeper仲裁机制 概述 仲裁 深入分析节点的数量问题 总结 概述 zk服务器运行模式分成两种: 独立模式 仲裁模式 如果是用独立模式(standalone),则zk的状态是无法进行复制的,这 ...
- Zookeeper watch机制原理
Zookeeper watch机制原理 准备工作 watch示例 源码解析 总结 准备工作 经过上一小节的学习我们知道ZookeeperServerMain是单机版的服务器主类 我们可以自己写一个Zk ...
- Apache ZooKeeper - Watch 机制的底层原理
文章目录 Watch 机制 API 使用 Watch 机制的底层原理 客户端 Watch 注册实现过程 ZKWatchManager 服务端 Watch 注册实现过程 WatchManager 服务端 ...
- Zookeeper选举机制测试
集群分布式 三台物理机为112.113.114 112,为leader 113,为follower 114,为follower 宕机测试 比如,112宕机,关闭112服务器 检测到主节点宕机,113. ...
最新文章
- Android添加权限大讲解
- node.js中模块_在Node.js中需要模块:您需要知道的一切
- python埋点自动化_iOS自动化埋点的实现
- 为什么手机垃圾就是治不了?
- python教程:%s、%d、%f的使用
- 详解华为交换机iStack特性
- JDK6 中队web service的支持
- 后端程序员必备:索引失效的十大杂症
- 资源放送丨《MySQL的查询与优化》PPT视频
- python FastDFS
- JavaScript学习——JavaScript 条件 语句 switch语句 while语句
- 整理了一下国外的搜索引擎 名字以及IP地址
- 华为人才选拔的管理实践
- PCB多层板为什么都是偶数层
- 图像语义分割实践(三)模型搭建与实现
- Oracle DB 备份和恢复的概念
- 超动感,百行Python代码制作动态气泡图
- android usb ftdi,android-Nexus7 USB主机FTDI设备未检测到
- 【Java每日编程小练习 2021-01-21】 幸运手机号的简单产生
- Firefox火狐下载的文件名含空格时,无法显示完整文件名
热门文章
- python处理图片文件_python 学习(二)处理图片、TXT文档
- 病毒组研究的挑战-相关的新兴技术
- 高级转录组分析和R数据可视化(2020.2,课程推迟,可先报名,时间另行告知)
- Android旋转视频工具类,Android开发实现的IntentUtil跳转多功能工具类【包含视频、音频、图片、摄像头等操作功能】...
- R语言使用unzip函数解压压缩文件(Extract or List Zip Archives)
- R语言caret包构建机器学习回归模型(regression model)、使用DALEX包进行模型解释分析、特征重要度、偏依赖分析等
- python编写自定义函数计算一维numpy数组中与指定目标数值最接近(距离最近)的数值(find closest value in numpy array to a certain value)
- R语言sub函数和gsub函数替换(replace)匹配的字符串实战
- 数据治理(Data Governance)
- 代理 设置wsl_第一次使用WSL我做了什么