更新时间:2020-11-03 来源:黑马程序员 浏览量:
ZooKeeper提供了分布式数据发布/订阅功能,一个典型的发布/订阅模型系统定义了一种一对多的订阅关系,能让多个订阅者同时监听某一个主题对象,当这个主题对象自身状态变化时,会通知所有订阅者,使他们能够做出相应的处理。
在ZooKeeper中,引入了Watch机制来实现这种分布式的通知功能。ZooKeeper允许客户端向服务端注册一个Watch监听,当服务端的一些事件触发了这个Watch,那么就会向指定客户端发送一个事件通知,来实现分布式的通知功能。
Watch机制在事件中有以下4个特点:
1.一次性触发
当Watch的对象发生改变时,将会触发此对象上Watch所对应的事件,这种监听是一次性的,后续再次发生同样的事件,也不会再次触发。
2.事件封装
Zookeeper使用WatchedEvent对象来封装服务端事件并传递。该对象包含了每个事件的三个基本属性,即通知状态(keeperState)、事件类型(EventType)和节点路径(path)。
3.异步发送
Watch的通知事件是从服务端异步发送到客户端的。
4.先注册再触发
Zookeeper中的Watch机制,必须由客户端先去服务端注册监听,这样才会触发事件的监听,并通知给客户端。
猜你喜欢:
毕业16个工作日,平均薪资13180元,就业率100%,广州黑马AI智能应用开发(Java)学科20250529班
2026-03-06毕业32个工作日,平均薪资11147元,就业率95%,广州黑马AI智能应用开发(Java)学科20250326班
2026-03-05黑马程序员2025全国就业数据发布:全学科平均就业率92.07%,AI开发类就业平均薪资达11869.67元。
2026-03-05黑马全国校区齐开班!场面太太太壮观了!
2026-03-03AI智能应用开发课程紧贴企业刚需,全程高效学习,直达中高级软件开发水平
2026-02-28风口正劲!黑马程序员又一AI智能应用开发班毕业当天100%就业!
2026-02-27