1. zookeeper
1.1. zookeeper简单介绍
ZooKeeper 是一个分布式的开源协调服务,最初由 Apache Hadoop 项目开发,用于构建分布式应用程序。它提供了一个简单的接口,允许开发人员实现诸如配置维护、域名服务、分布式同步、组服务等常见任务。ZooKeeper 的设计目标是提供高性能、高可用性和严格的顺序访问。
1.2. zookeeper数据模型介绍
ZooKeeper 的数据模型是一个层次化的命名空间,类似于文件系统。这个命名空间由称为 ZNodes 的节点组成,每个 ZNode 可以存储数据,并且可以有子节点。ZooKeeper 提供了持久节点、临时节点和顺序节点三种类型的 ZNodes。通过观察机制、事务 ID 和版本控制,ZooKeeper 确保了数据的一致性和可靠性。这个数据模型为分布式系统中的配置管理、命名服务、分布式锁等提供了强大的支持。
1.2.1 层次化命名空间
ZooKeeper 的命名空间是一个树形结构,类似于文件系统的目录结构。每个节点(ZNode)都有一个唯一的路径,路径由斜杠(/
)分隔。例如:
/app
/app/service1
/app/service2
/app/service1/config
/app/service1/state
在这个例子中,/app
是一个 ZNode,它有两个子节点 service1
和