简单性
ZooKeeper 允许分布式进程通过共享的分层命名空间相互协调,该命名空间的组织方式与标准文件系统类似。命名空间由数据寄存器(用 ZooKeeper 的说法称为 znode)组成,它们类似于文件和目录。与专为存储而设计的典型文件系统不同,ZooKeeper 数据保存在内存中,这意味着 ZooKeeper 可以实现高吞吐量和低延迟数。
ZooKeeper 的实现非常注重高性能、高可用性、严格有序的访问。 ZooKeeper 的性能方面意味着它可以在大型分布式系统中使用。可靠性方面使其不会成为单点故障。严格的排序意味着可以在客户端实现复杂的同步原语。
可复制
组成 ZooKeeper 服务的服务器必须相互了解。它们在内存中维护状态映像,以及持久存储中的事务日志和快照。只要大多数服务器可用,ZooKeeper 服务就可用。
客户端连接到单个 ZooKeeper 服务器。客户端维护一个 TCP 连接,通过该连接发送请求、获取响应、获取监视事件并发送心跳。如果与服务器的 TCP 连接中断,客户端将连接到另一台服务器。
顺序性
ZooKeeper 用反映所有 ZooKeeper 事务顺序的数字标记每个更新。
速度快
在“读取为主”的工作负载中尤其快。 ZooKeeper 应用程序在数千台计算机上运行,并且在读取比写入更常见的情况下性能最佳(比率约为 10:1)。
评论区