Zookeeper的监听器原理

 

一、Zookeeper的监听器原理

            

(1)在Zookeeper的API操作中,创建main()主方法即主线程;

(2)在main线程中创建Zookeeper客户端(zkClient),这时会创建两个线程:

         线程connet负责网络通信连接,连接服务器;

         线程Listener负责监听;

(3)客户端通过connet线程连接服务器;

         图中getChildren("/" , true) ," / "表示监听的是根目录,true表示监听,不监听用false

(4)在Zookeeper的注册监听列表中将注册的监听事件添加到列表中,表示这个服务器中的/path,即根目录这个路径被客户端监听了;

(5)一旦被监听的服务器根目录下,数据或路径发生改变,Zookeeper就会将这个消息发送给Listener线程;

(6)Listener线程内部调用process方法,采取相应的措施,例如更新服务器列表等。

 

二、常见的监听类型

(1)监听节点数据的变化

      get path [watch]

(2)监听子节点增减的变化

      ls path [watch]

posted @ 2021-04-14 09:49  black9  阅读(380)  评论(0编辑  收藏  举报