zookeeper的Watch监控

如果zookeeper 挂掉一半一下了
那么拒绝提供服务
因为无法产生leader 就无法进行数据同步
无法数据同步,那么node01和node02节点的数据无法保证数据的一致性
更谈不上最终一致性
当客户端client01 访问zkServer 中的 /oxxx/a 的数据时,会产生一个session如果还加上e 临时节点 那么该节点会随着会话结束 而消失 ,消失时会产生时间event
delete
create
change
children 等事件 那么evern 事件会主动回调所有watch 该节点的数据
另一个客户端client02也在访问该数据时 的到a的数据时 还会watch 该数据  观察该数据是否出现变化 
当client01挂掉后
client 02 再次访问/ooxx/a是  

------------------------------------------------------------------------------------------------------------

 

 

 

第一个getData(String path,boolean watch ,Stat stat)
为 fales 时 只是为了取数据 不关心它未来有没有什么事件
为true 时 一般发生在事件回调的时候 调用回调了  在写一个回调watch ,
那么 这个watch 会重新监听 重新注册,因为watch  是一次性的


第二个getData(String path,Watcher watch ,Stat stat)
取一个path数据   关于path上的监听  这里的是元数据 就是zxid 事物id 那些元数据
而不是 那1M 里面的数据
返回的是二进制字节数组
上面是同步的

下面两个是异步的
第三个 调用了数据不在这里阻塞  直接掉callback方法 就能拿到数据
第四个参照上述

 

posted @ 2022-04-20 14:37  花心大萝卜li  阅读(79)  评论(0)    收藏  举报