zoukankan      html  css  js  c++  java
  • 04_zookeeper的watcher机制

    【watcher简述】

    * zk针对每个节点的操作,都会有一个监督者:watcher

    * 当监控的某个对象(znode)发生了变化,则出发watcher

    * zk中的watcher是一次性的,出发后立即销毁

    * 父节点,子节点增删改都能触发其watcher

    * 针对不同类型的操作,触发的watcher事件也不同:

      1.节点/节点的子节点 创建事件

      2.节点/节点的子节点 删除事件

      3.节点/节点的子节点 节点数据变化事件

     

    【设置watcher】

    get path [watch]
    stat path [watch]

    父节点 增删改 触发watcher

    子节点 增删改 触发watcher

    【watcher事件】

    【父节点事件类型】

    [ 创建父节点触发:NodeCreated ]

    WATCHER::
    
    WatchedEvent state:SyncConnected type:NodeCreated path:/father
    Created /father
    
    ========================================
    /**
     * WatchedExent被触发
     * 事件类型:创建节点类型  NodeCreated
     * 路径:/father
     */

    [ 修改父节点数据触发:NodeDataChanged ]

    [ 删除父节点触发:NodeDeleted ]

     【子节点事件类型】

    ls path [watch]

    [示例1:ls设置创建子节点事件]

    ls为父节点设置watcher,创建子节点会触发NodeChildrenChanged事件 

    [ 示例2:ls设置删除子节点的操作 ]

    ls为父节点设置watcher,删除子节点触发:NodeChildrenChanged

     [ 注意 ]

    使用 ls 命令为父节点设置watcher,修改子节点的值不会触发事件。

    如果希望修改子节点的值也触发事件,应该把字节点当成父节点,使用get path [watch]命令

    get path [watch]

    改成下边这种get方式即可

  • 相关阅读:
    递归算法几个实例---C/C++
    Linux进程管理
    Linux文件传输
    Linux--系统管理
    Git学习笔记
    如果该虚拟机未在使用,请按“获取所有权(T)”按钮获取它的所有权。否则,请按“取消(C)”按钮以防损坏
    二叉树的非递归层次遍历算法
    二叉树(代码)
    根据后序遍历和中序遍历创建二叉树(代码)
    二叉树性质
  • 原文地址:https://www.cnblogs.com/HigginCui/p/9657985.html
Copyright © 2011-2022 走看看