03.zookeeper基本数据模型及功能

一、基本概念

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

二、基本操作

  • 客户端连接(./zkCli.sh)
  • 查看znode结构(ls)
  • 关闭客户端连接(ctrl+c)

三、功能

  • master节点选举,主节点挂了一会,从节点就会接手工作,并且保证这个节点是唯一的,即首脑模式,从而保证集群高可用
  • 统一配置文件管理,即只需要部署一台服务器,就可以把相同的配置文件同步更新到其他所有服务器,此操作在云计算中用的很多(比如修改了Redis统一配置)
  • 发布与订阅,类似消息队列MQ(amq,rmq...),dubbo发布者把数据存在znode上,订阅者会读取这个数据
  • 提供分布式锁,分布式环境中不同进程之间争夺资源,类似于多线程中的锁
  • 集群管理,集群中保证数据的强一致性
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容