Zookeeper是一个开源的分布式和谐效劳,它为分布式利用顺序供给了一套简单且高效的和谐接口。它的计划目标是为了简化分布式体系中罕见的任务,比方命名、设置管理、同步(包含锁跟推举)、构成员关联等。
Zookeeper是一个分布式和谐效劳,由Apache Software Foundation开辟保护。它为分布式利用供给分歧性效劳,包含设置管理、分布式锁、集群管理等。
Zookeeper的数据模型类似于文件体系,采取树形构造。树中的每个节点称为Znode,它可能存储数据,并且可能有子节点。
Zookeeper的核心是原子播送机制,这个机制保证了各个Server之间的同步。实现这个机制的协定叫做ZAB协定。
ZAB协定有两种形式,它们分辨是恢复形式(选主)跟播送形式(同步)。当效劳启动或许在领导者毛病时,Zab就进入了恢复形式,当领导者被推举出来,且大年夜少数Server实现了跟领导者的同步,Zab就进入了播送形式。
Zookeeper集群中的节点须要选出一个领导者(Leader)。在集群启动或许领导者毛病时,会触发推举过程。
Zookeeper因为其富强的和谐效劳特点,被广泛利用于多种分布式体系的场景中,以下是一些罕见利用处景:
在分布式体系中,和谐多个节点选出一个领导者是关键操纵,比方Hadoop HDFS利用Zookeeper停止Namenode的毛病转移跟推举。
实现资本竞争的把持,Zookeeper供给了富强的分布式锁功能。
保持设置的分歧性跟静态更新,比方Apache Storm利用Zookeeper来和谐任务拓扑跟节点状况。
Zookeeper常作为效劳注册核心,容许效劳供给者注册其效劳,花费者静态发明效劳。
Zookeeper是分布式体系中弗成或缺的和谐利器,它经由过程供给简单易用的编程接口,使得开辟人员可能轻松地实现分布式利用顺序。懂得Zookeeper的道理跟利用处景对构建高坚固、高机能的分布式体系存在重要意思。