Zookeeper(二) 介绍

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接: https://blog.csdn.net/u011414629/article/details/100171802

什么是Zookeeper

Zookeeper是一种分布式协调服务, 用于管理大型主机。在分布式环境中协调和管理服务是一个复杂的过程。Zookeeper通过其简单的架构和API解决了这个问题, Zookeeper允许开发人员专注于核心应用程序逻辑, 而不必担心应用程序的分布式特性。

Zookeeper的数据模型

Zookeeper的数据模型是什么样子呢? 它很像数据结构当中的树, 也很像文件系统的目录, Zookeeper是一种标准的二叉树结构

树是由节点所组成, Zookeeper的数据存储也同样是基于节点, 这种节点叫做Znode

但是, 不同于树的节点, Znode的引用方式是路径引用, 类似于文件路径

/动物/狗

/汽车/宝马

这样的层级结构, 让每一个Znode节点拥有唯一的路径, 就像命名空间一样, 对不同信息作出清晰的隔离

Znode包含哪些元素

data: Znode中的数据信息

ACI: 记录Znode的访问权限, 即哪些人或哪些IP可以访问本节点

state: 包含Znode的各种元数据, 比如事务ID, 版本号, 时间戳, 大小等等

child: 当前节点的子节点引用

这里需要注意一点: Zookeeper是为读多写少的场景所设计, Znode并不要用来存储大规模业务数据, 而是用于存储少量的状态和配置信息, 每个节点的数据量最大不能超过1MB

Zookeeper的基本操作

创建节点

create

删除节点

delete

判断节点是否存在

exists

获得一个节点的数据

getData

设置一个节点的数据

setData

获取节点下的所有子节点

getChildren

这其中, exists, getData, getChildren属于读操作, Zookeeper客户端在请求读操作的时候, 可以选择是否设置watch

猜你喜欢

转载自blog.csdn.net/u011414629/article/details/100171802