ZooKeeper是一个开源的分布式协调服务,具有以下一些关键特点:
- 数据模型 ZooKeeper的数据模型采用层次化的多叉树形结构,每个节点称为znode,类似于文件系统中的文件和目录。每个znode可以存储数据和控制信息。
- 一致性保证 ZooKeeper通过ZAB协议,实现分布式环境下数据的强一致性,所有连接的客户端view都保持同步更新。
- 节点类型 ZooKeeper有短暂、持久和序列3种主要节点类型,分别用于不同场景下的数据存储。
- 监听机制 客户端可以在znode上注册监听器,当节点发生变化时,会异步地通知客户端,实现分布式调度。
- 订单保证 对znode的更改通过事务编号进行全局排序,客户端观察到的更改顺序与服务器端一致。
- 可靠性 支持主从高可用部署,如果leader节点失效,可以快速进行leader选举切换。
- ACL访问控制 支持细粒度的权限访问控制。
ZooKeeper提供了高性能、稳定的分布式数据管理和协调服务,被大数据生态广泛采用。