本文基于 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文件系统更多的是,其中每个被当做"目录"的节点不仅可以存储子节点,也可以存储数据。