ZooKeeper的监听器
发布时间
阅读量:
阅读量
ZooKeeper支持一种基于分布式数据发布与订阅机制的核心服务功能。这种基于一对多的关系模型设计使得客户端能够方便地注册多个监听器以关注同一个主题对象的变化状态变化时所有关注者都能及时收到通知从而做出相应的处理行为。
ZooKeeper实现了分布式事件监听机制 该系统允许客户端向服务端注册一个独特的监听器当服务端发生特定事件触发该监听器时就会向对应的客户端发送相应的事件通知消息从而完成分布式通知功能。
系统支持多种类型的通知触发事件包括但不限于主题节点创建删除节点状态变更以及子节点的状态更新等。
总体而言Watcher组件由三个主要部分构成:
- 客户端注册Watchers
- 服务端检测触发事件并激活对应的Watchers
- 监控客户端处理相关事件响应机制
Watch机制特点
-
单一事件触发
当特定事件发生时启动监听机制,在设置指定的端口进行处理后会关闭该模式的效果,并且这种模式的效果是单次且不可重复的;对于已经发生的同一类型的事件不会再被重新激活。 -
事件封装机制
ZooKeeper通过WatchedEvent对象将服务端发生的每一个 event 进行打包,并传递给客户端。
WatchedEvent 包含每个 event 的三个核心信息:
**通知状态 (keeperState), 事件类型 (even
全部评论 (0)
还没有任何评论哟~
