zookeeper的作用:通过监控数据状态变化从而达到基于数据的集群管理例如分布式消息队列、分布式锁、分布式协调、分布式配置管理、统一命名服务
zookeeper的特性:最主要的是全局一致性,全局数据一致性
zookeeper集群中的角色:leader,follower,observer(观察者角色)
zookeeper数据模型:
树形层次结构每个节点(znode)都可以存储数据和拥有子节点,节点都兼具文件和目录两种特点
znode节点特点:
1.原子性读写操作都会替换一个节点所用数据
2.大小有上限最多1M
3.通过路径引用
4.节点类型主要分为临时和永久节点
5.序列化特性可以在创建节点时指定一个唯一会不断增加的有序的序列号
watch机制:一次注册一次监听触发产生一次回调
若是想多次监听可以在回调中再次触发监听
ZooKeeper Java API:
org.apache.zookeeper.Zookeeper
Zookeeper 是在 Java 中客户端主类,负责建立与 zookeeper 集群的会话,
并提供方法进行操作。
org.apache.zookeeper.Watcher
Watcher 接口表示一个标准的事件处理器,其定义了事件通知相关的逻辑,
包含 KeeperState 和 EventType 两个枚举类,分别代表了通知状态和事件类型,
同时定义了事件的回调方法:process(WatchedEvent event)。
//建立 java maven 项目,引入 maven pom 坐标。
&