zookeeper(二)数据结构及作用体现

2020-01-26  本文已影响0人  若琳丶

一、zk 数据模型介绍

zk的树结构

1.1 znode 结构

属性 描述
czxid 节点被创建的Zxid值
mzxid 节点被修改的Zxid值
ctime 节点被创建的时间
mtime 节点最后一次被修改的时间
versoin 节点被修改的版本号
cversion 节点的所拥有子节点被修改的版本号
aversion 节点的ACL被修改的版本号
emphemeralOwner 如果此节点为临时节点,那么它的值为这个节点拥有者的会话ID;否则,它的值为0
dataLength 节点数据域的长度
numChildren 节点拥有的子节点个数

1.2 znode的种类

znode 有两种维度来决定种类

所以有四种组合:

无论是哪种类型的 znode,在 zookeeper 的树结构中都是唯一的,无法重复创建 path 完全相同的 znode。即使是有顺序的,zk 也会自动在 path 后面顺延序列号。

二、zk 的作用体现

2.1 选举

master 节点选举,主节点挂了以后,从节点就会接手工作,并且保证这个节点是唯一的,这就是所谓的首脑模式,从而保证我们的集群是高可用的。

2.2 统一配置文件

统一配置文件管理,即只需要部署一台服务器,则可以把相同的配置文件同步更新到其他所有服务器。

2.3 发布订阅

发布订阅,dubbo 发布者可以将数据保存到 znode 上,其它订阅者可以读取到这个数据。

2.4 分布式锁

提供分布式锁,分布式环境中不同进程进行公共资源的抢夺。这就是利用的 znode 唯一的特点来实现的作用之一。

2.5 集群管理

集中保证数据的强一致性,无论客户端读取哪一个节点,都可以读取到完全相同的数据。


image.png
上一篇 下一篇

猜你喜欢

热点阅读