数据模型
zookeeper是(key,value)键值对,拥有一个层次的命名空间,类似于标准文件系统的树形层次结构,zookeeper每个节点被称为 znode,zookeeper 每个节点都 拥有子节点(注:临时节点无子节点),并且同级节点具有唯一性,每个znode包含三部分:
- stat:此为状态信息, 描述该znode的版本, 权限等信息
- data:与该znode关联的数据
- children:该znode下的子节点
znode虽然可以关联数据,但是只是为了管理调度数据,每个节点限制最多不超过1MB。
Zookeeper节点
节点特性
- 同级节点的唯一性 不同级不需要保证唯一性
- 临时节点和持久化节点
- 有序节点特性
- 节点有父子关系
- 临时节点下不能存在子节点(临时节点生命周期仅限于当前会话)
节点类型
ZooKeeper中的节点有两种,分别为临时节点和永久节点。节点的类型在创建时即被确定,并且不能改变。
临时节点 该节点的生命周期依赖于创建它们的会话。一旦会话(Session)结束,临时节点将被自动删除,当然可以也可以手动删除。
虽然每个临时的Zn ode都会绑定到一个客户端会话,但他们对所有的客户端还是可见的。
另外,ZooKeeper的临时节点不允许拥有子节点。
被删除条件:
当创建该znode的客户端的会话因超时或主动关闭而中止时。
当