发布网友 发布时间:2025-01-27 09:43
共1个回答
热心网友 时间:2025-01-27 10:02
ZooKeeper 是分布式应用程序协调服务,支持七种节点类型:持久、持久顺序、临时、临时顺序、容器、持久 TTL、持久顺序 TTL。
持久节点是默认类型,常用于分布式锁释放、健康检查等场景。临时节点在客户端会话结束时被删除,适用于特定需求。
持久顺序与临时顺序节点在 ZK 会自动添加数字后缀,保证路径加数字后缀的唯一性,用于实现分布式队列、公平锁等。
容器节点在 ZK 服务端启动后,有一个线程专门扫描容器节点,当子节点数量为零时自动删除,适用于 leader 或锁场景。
持久 TTL 和持久顺序 TTL 节点带有存活时间,当无子节点超过 TTL 时间后自动删除。这与容器节点类似,只是容器节点没有超时时间,创建 TTL 需配置 zookeeper.extendedTypesEnabled 为 true。
ZooKeeper 基于 Fast Paxos 算法,Fast Paxos 通过选举领导者优化活锁问题,简化复杂服务,提供易用、高效、稳定的接口。