首页 > 其他分享 >Zookeeper中watcher介绍-通知状态事件类型

Zookeeper中watcher介绍-通知状态事件类型

时间:2023-05-11 09:45:59浏览次数:45  
标签:通知 Zookeeper watcher 事件 3.1 节点 监听 客户端

1.Zookeeper Watcher简介
1.1)提供了分布式数据发布、订阅功能。
1.2)引入了watcher机制来实现这种分布式的通知功能(主要触发事件:节点创建、节点删除、节点改变等)。
1.3)watcher包括以下三个过程:客户端向服务端注册watcher、服务端事件发生触发watcher、客户端回调watcher得到触发事件情况。
2.watcher机制特点
2.1)一次性触发:事件发生触发监听,一个watcher event就会被发送到设置监听的客户端,这种效果是一次性的,后续再次发生同样的事件,不会再次触发。
2.2)事件封装:
2.2.1)zookeeper使用watchedEvent对象来封装服务端事件并传递。
2.2.2)三个基本属性:通知状态(keeperState)、事件类型(EventType)、节点路径(path)
2.3)event异步发送:watcher的通知事件从服务端发送到客户端是异步的。
2.4)先注册再触发:zookeeper中的watch机制,必须客户端先去服务端注册监听,这样事件发送才会触发监听,通知给客户端。
3.通知状态和事件类型
3.1)同一事件类型在不同的通知状态中代表的含义有所不同,下表列举了常见的通知状态和事件类型。
3.1.1)SyncConnected(0)
3.1.1.1)None(-1):客户端于服务端成功建立连接
3.1.1.2)NodeCreated(1):Watcher监听的对应数据节点被创建
3.1.1.3)NodeDeleted(2):Watcher监听的对应数据节点被删除,此时客户端与服务器处于连接状态
3.1.1.4)NodeDataChanged(3):Watcher监听的对应数据节点的数据内容改变
3.1.1.5) NodeChildChanged(4):Watcher监听的对应数据节点的子节点列表发生改变
3.1.2)Disconnected(0)
3.1.2.1)None(-1):客户端与Zookeeper服务断开连接,此时客户端与服务器处于断开连接状态
3.1.3)Expired(-112)
3.1.3.1)Node(-1):会话超时,此时客户端会失效,同时也会收到SessionExpiredException异常
3.1.4)AuthFailed
3.1.4.1)Node(-1):通常有两种情况:
3.1.4.1.1)使用错误的schema进行权限检查;
3.1.1.1.2)SASL权限检查失败
注意:通常也会收到AuthFailedException异常
注意:只有设置好监听,才能触发监听
4.shell客户端设置watcher

关注我的公众号SpaceObj 领取idea系列激活码

标签:通知,Zookeeper,watcher,事件,3.1,节点,监听,客户端
From: https://www.cnblogs.com/zhanghongrui/p/17390059.html

相关文章

  • zookeeper中Shell客户端Quota命令
    1.quota1.1创建quotacreatepathdata#path表示节点,data表示内容1.2对节点进行限制setquota-n|-bvalpath对节点增加限制。n:表示子节点的最大个数b:表示数据值的最大长度val:子节点最大个数或数据值的最大长度path:节点路径注意:quota是一种非强制性的限制,即创建......
  • Zookeeper_java_API的简介
    1.Zookeeper_java_API的简介1.1)org.apache.zookeeper.ZookeeperZookeeper是在Java客户端主类,负责建立与zookeeper集群的会话,并提供方法进行操作。1.2)org.apache.zookeeper.WatcherWatcher接口表示一个标准的事件处理器,其定义了事件通知相关的逻辑,包含KeeperState和EventType两......
  • 通知更改
    [CallerMemberName]stringPropertyName=""//传当前属性的值INotifyPropertyChanged?.//判断是否为空再执行 publicclassViewModelBase:INotifyPropertyChanged{publiceventPropertyChangedEventHandlerPropertyChanged;publicvoidOnPro......
  • zookeeper
    集群:多个相同web服务器(或者多个JVM进程)分布式:一个大系统拆分多个子系统微服务:      ......
  • Netty_Redis_Zookeeper高并发实战-读书笔记
    第1章    高并发时代的必备技能1.nettyNetty是JBOSS提供的一个Java开源框架,基于NIO的客户端/服务器编程框架,能够快速开发高并发、高可用、高可靠的网络服务器程序,也能开发高可用、高可靠的客户端程序。NIO是指:非阻塞输入输出(Non-BlockingIO)。优点:API使用简单,开发门槛......
  • 消息通知
    https://blog.csdn.net/fegus/article/details/124314455https://chengxy-nds.blog.csdn.net/article/details/108390222?spm=1001.2101.3001.6661.1&utm_medium=distribute.pc_relevant_t0.none-task-blog-2~default~CTRLIST~Rate-1-108390222-blog-112081179.pc_releva......
  • ZooKeeper 面试篇《一》
    一、什么是zookeeper是Google的Chubby的一个开源实现版ZooKeeper一个分布式的,开源的,用于分布式应用程序的协调服务(service)主从架构Zookeeper作为一个分布式的服务框架主要用来解决分布式集群中应用系统的一致性问题它能提供基于类似于文件系统的目录节点树方式的数据存储,Zookeeper......
  • zookeeper-3.4.9的安装
    下载地址http://mirrors.cnnic.cn/apache/zookeeper/stable/下载wgethttp://mirrors.cnnic.cn/apache/zookeeper/stable/zookeeper-3.4.9.tar.gz解压usr/bigdata/zookeeper-3.4.9添加myid文件cdusr/bigdata/zookeeper-3.4.9mkdirdatacddataecho"1">myid修改zoo.......
  • zookeeper-- 安装
    ZooKeeper是一个分布式的,开放源码的分布式应用程序协调服务,是Google的Chubby一个开源的实现,是Hadoop和Hbase的重要组件。它是一个为分布式应用提供一致性服务的软件,提供的功能包括:配置维护、名字服务、分布式同步、组服务等。ZooKeeper 南京今天的天气还是蛮热的......
  • JDK导致ActiveMQ、Kafka连接zookeeper失败:Session 0x0 for server 10.1.21.244/<unres
      最近在部署一套ActiveMQ集群时,使用zookeeper来实现,zookeeper启动了,在启动ActiveMQ时,抛出异常:    WARN|Session0x0forserver10.1.21.244/<unresolved>:2181,unexpectederror,closingsocketconnectionandattemptingreconnectjava.lang.IllegalArgu......