Zookeeper--(二)基本数据模型

zookeeper基本数据模型

zookeeper基本数据模型一

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

Zookeeper数据模型基本操作

  • 客户端连接:./zkCli.sh
ZooKeeper JMX enabled by default
Using config: /data/tools/software/zookeeper/bin/../conf/zoo.cfg
Starting zookeeper ... STARTED
  • 查看znode结果:ls /
[zk: localhost:2181(CONNECTED) 0] ls /
[zookeeper]
  • 关闭客户端连接:Ctrl + C

其他更多的命令后面继续学习

Zk的作用体现

  • master节点选举,主节点挂了以后,从节点会接手工作,并且保证节点是唯一的,所谓首脑模式,从而保证集群是高可用的
  • 统一配置文件管理,只需要部署一台服务器,则可以把相同的配置文件同步更新到其他所有的服务器,此操作在云计算用的特别多(假设修改了redis统一配置)
  • 发布与订阅,类似消息队列MQ(amq,rmq…),dubbo发布者把数据存在znode上,订阅者会读取这个数据。
  • 提供分布式锁,分布式环境中不同进程之间争夺资源,类似于多线程中的锁
  • 集群管理,集群中保证数据的强一致性。

猜你喜欢

转载自blog.csdn.net/ouzhuangzhuang/article/details/86650056