znode 有两种类型:
- 临时的(
EPHEMERAL) - 户端会话结束时,ZooKeeper 就会删除临时的 znode。不允许有子节点。 - 持久的(
PERSISTENT) - 除非客户端主动执行删除操作,否则 ZooKeeper 不会删除持久的 znode。
分布式协调服务,使用 ZAB 作为一致性算法。
维护和监控存储数据的状态变化。通过监控这些数据状态的变化,从而可以达到基于数据的集群管理。
zookeeper 集群中有一个 leader 和若干 follower,使用 ZAB 作为一致性算法保证各节点数据一致
client 向 zookeeper 发起请求,zookeeper 保证请求执行原子性,且保证同一个 client 请求按发送顺序执行
client 会向 zookeeper 注册监听,当数据发生变化时 zookeeper 会通知 client,相当于一种观察者模式
zookeeper 数据以类似 Unix 文件系统树形式组织,树中每个节点称为 ZNode,每个 ZNode 默认存储 1MB 数据,层级命名空间(hierarchinal namespace)
/ ├── /znode1 │ ├── /znode1/leaf1 │ └── /znode1/leaf2 └── /znode2 └── /znode2/leaf1
节点可以分为持久节点、短暂节点。
持久(Persistent):客户端和服务器端断开连接后,创建的节点不删除。
持久化目录节点客户端与Zookeeper断开连接后,该节点依旧存在
持久化顺序编号目录节点客户端与Zookeeper断开连接后,该节点依旧存在,只是Zookeeper给该节点名称进行顺序编号
短暂(Ephemeral):客户端和服务器端断开连接后,创建的节点自己删除。
临时目录节点客户端与Zookeeper断开连接后,该节点被删除。
临时顺序编号目录节点客户端与Zookeeper断开连接后,该节点被删除,只是Zookeeper给该节点名称进行顺序编号。
————————————————
版权声明:本文为CSDN博主「ha_lydms」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/lydms/article/details/132921358