zoukankan      html  css  js  c++  java
  • Watcher 机制

        ZooKeeper 提供了一种针对Znode的订阅/通知机制,也就是当Znode节点状态发生变化时或者Zookeeper 客户端连接状态发生变化时,会触发事件通知。这个机制在服务注册于发现中,针对服务调用者及时感知到服务提供者的变化提供了非常好的解决方案。

      在Zookeeper提供的Java API 中,提供了三中机制来针对Znode进行注册监听,分别是:

    • getData(),用于获取指定节点的value信息,并且可以注册监听,当监听的节点进行创建、修改、删除操作时,会触发相应的时间通知。
    • getChildren(),用于获取指点节点的所有节点,并且允许注册监听,当监听节点子节点进行创建、修改、删除操作时,会触发相应得事件通知。
    • exists(),用于判断指定节点是否存在,,同样可以注册指定节点得监听,监听得时间类型和getData()相同。

    Watcher 事件得触发都是一次性得,比如客户端通过getData('/node',true)注册监听,如果/node节点发生数据修改,,那么该客户端会收到一个修改时间通知,但是/node再次发生改变时,客户端无法收到Watcher事件,为了解决这个问题,客户端必须再收到得事件回调中再次注册事件。

  • 相关阅读:
    适配器模式
    显示实现接口
    Mysql表引擎的切换
    Mysql事务隔离级别
    按照指定的格式解析字节数组
    委托和事件的简单实用
    C#压缩和解压缩字节(GZip)
    Mysql数据库批量添加数据
    常用的分页类
    保证依赖的服务已全部启动
  • 原文地址:https://www.cnblogs.com/chengxiaoxiao/p/14955290.html
Copyright © 2011-2022 走看看