3.2 Zookeeper 中组成员之间的关系
方便理解 Zookeeper 的一种方式是将 Zookeeper 看作一个具有高可用性特征的"文件系统".
这个文件系统中没有文件和目录, 而是统一使用"节点(node
)"的概念, 这些节点我们称为znode
.
znode
可以看做一种容器, 只是这种容器相对比较特殊:
- 可以保存数据, 比如文件
- 可以保存其他
znode
(其他znode
如同目录)
所有的 znode
构成一个层次化的命名空间, 一种自然的方便的建立组成员列表的方式就是利用这种层次结构.
- 创建一个以组名为节点名的
znode
作为父节点 - 然后以组成员名(服务器名)为节点来创建作为子节点的
znode
.
上图给出了一组具有层次结构的znode
在这个示例中, 我们没有在任何的 znode
中存储数据, 但是在实际应用中, 你可以想象将成员相关的数据存储在他们的 znode
中, 例如主机名.