03. zookeeper基本数据模型

基本数据模型

是一个树形结构,类似于前端开发中的tree.js组件
zookeeper的数据模型也可以理解为linux/unix的文件目录:/usr/local
每一个节点都称之为znode,它可以有子节点,也可以有数据
每个节点分为临时节点和永久节点,临时节点在客户端断开后消失
每个zookeeper节点都有各自的版本号,可以通过命令行来显示节点信息
每当节点数据发生变化,那么该节点的版本号会累加(乐观锁)
删除/修改过时节点时,版本号不匹配会报错
每个zookeeper节点存储的数据不宜过大,几K即可
节点可以设置权限acl,可以通过权限来限制用户的访问

基本数据模型基本操作

客户端连接

使用 ./zkCli.sh连接,如图
可以使用help命令查看支持的命令

ls

查看指定目录,查看目录下有哪些路径
刚安装好的zookeeper只有/zookeeper/quota目录,且目录为空
可以使用如下命令查询
ls /
ls /zookeeper
ls /zookeeper/quota
如图

关闭客户端连接

ctrl + c 即退出客户端链接

zookeeper的作用体现

作用一

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

作用二

统一配置文件管理,即只需要部署一台服务器,则可以把相同的配置文件同步更新到其他所有服务器,此操作在云计算中用的特别多(比如修改了redis统一配置)

作用三

发布与订阅,类似消息队列MQ(amq,rmq),dubbo发布者把数据存在znode上,订阅者会读取这个数据

作用四

提供分布式锁,分布式环境中不同进程之间争夺资源,类似于多线程中的锁

作用五

集群管理,集群中保证数据的强一致性

猜你喜欢

转载自blog.csdn.net/ZJ__ZFH/article/details/79999542
03.