本文基于 Apache ZooKeeper Release 3.7.0 版本书写
作于 2022年3月6日 14:22:11 转载请声明

1、Zookeeper是什么?


由ZooKeeper的官网介绍可知:

ZooKeeper 是Apache原子基金会下一个开源的、用于提供可靠的分布式协同的服务器。
ZooKeeper 可以用来 配置管理、命名服务、分布式协同(分布式锁)、集群服务。

ZooKeeper: Because Coordinating Distributed Systems is a Zoo

ZooKeeper 的命名来源:把分布式系统当做动物园,ZooKeeper是动物园的管理员

ZooKeeper最核心的功能:存储数据+ 事件监听。

2、ZooKeeper节点的四种模式

PERSISTENCE : 持久化节点,客户端与ZooKeeper服务器断开连接之后,该节点依然存在
PHEMERAL : 临时节点,客户端与ZooKeeper服务器断开连接之后,该节点消失
PERSISTENCE_SEQUENTIAL : 在 PERSISTENCE 的基础上给节点按顺序排号
PHEMERAL_SEQUENTIAL : 在 PHEMERAL 的基础上,给节点按顺序排号

3、ZooKeeper模型

ZooKeeper维护了一个类似Unix文件结构的树状数据结构,每个节点被称为 Znode

比Unix文件系统更多的是,其中每个被当做“目录”的节点不仅可以存储子节点,也可以存储数据。