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事件,为了解决这个问题,客户端必须再收到得事件回调中再次注册事件。

  • 相关阅读:
    python学习:字符编码与转码
    python学习:文件操作
    python学习:基本运算符
    python学习:列表、元组、字典、集合
    python学习:基础知识
    linux常用命令
    hadoop手动安全模式
    System.getProperty("user.dir")的理解
    如何获取SpringBoot项目的applicationContext对象
    spring无法注入bean
  • 原文地址:https://www.cnblogs.com/chengxiaoxiao/p/14955290.html
Copyright © 2011-2022 走看看