zookeeper是一个分布式协调组件,它为多个分布式架构应用提供顺序访问控制的一个能力,zookeeper采用了类似文件系统树形结构,以节点方式管理zookeeper存储的一些数据,zookeeper提供一种watch机制,可以让客户端感知到存储节点数据的变化,这种机制是pull方式的实现,客户端可以和服务端建立长连接,一旦监听到指定节点的变化,就会监听到事件推送给客户端。watch机制的流程分为以下几个部分客户端会通过指定发送一些命令比如exists,get,对指定的路径进行watch,服务端收到请求后,需要用hashmap保存客户端的会话以及对应关注路径,同时客户端也会保存指定节点和事件回调函数的一个关系,当服务端指定被watch的节点发生变化以后,就会找到这个节点对应的会话,然后变化事件和节点信息发送给客户端,客户端收到后,会从zk watch manager找到对应回调方法,完成事件的通知。
Zookeeper中的Watch机制的原理
最新推荐文章于 2023-12-19 18:17:23 发布