Zookeeper 分布式服务框架是 Apache Hadoop 的一个子项目,主要用来解决分布式应用中经常遇到的一些数据管理问题,如统一命名服务、状态同步服务、集群管理、分布式应用配置项的管理等。
简单来说,Zookeeper = 文件系统+ 通知机制。Zookeeper 提供了以下服务:
1)文件系统
Zookeeper 维护一个类似文件系统的数据结构,结果如图 6-9 所示。
每一个子目录项,如 NameService 都被称作 znode,和文件系统一样,能够自由地增加、删除 znode,在一个 znode 下增加、删除子 znode,唯一的不同在于 znode 是可以存储数据的。有四种类型的 znode:
(1) PERSISTENT,持久化目录节点:
客户端与 Zookeeper 断开连接后,该节点依旧存在。
(2) PERSISTENT_SEQUENTIAL,持久化顺序编号目录节点
客户端与 Zookeeper 断开连接后,该节点依旧存在,只是 Zookeeper 给该节点名称进行顺序编号。
(3) EPHEMERAL,临时目录节点: