ZooKeeper基本数据模型

  1. zk数据模型介绍

    1. 是一个树形结构,类似于前端开发中的tree.js组件。
    2. zk的数据模型也可以理解为linux/unix的文件目录:/usr/local
    3. 每一个节点都称之为znode它可以有子节点,也可以又数据。并以 key/value 形式存储数据。
    4. 每个节点分为临时节点永久节点,临时节点在客户端断开消失
      1. 永久节点就是一个永久化的过程。比如说存了一些数据,这些数据只有在人为的情况下才能进行删除,如果客户端session丢失之后,或者筛选超时,那么它的数据还是会存在的。
      2. 临时节点也可以人为的去操作,人为的去删除。session失效之后,里面所有的数据全都会丢失。
    5. 每个zk节点都有各自的版本号,可以通过命令行来显示节点信息。
    6. 每当节点数据发生变化,那么该节点的版本会累加(乐观锁)
    7. 删除/修改过时节点,版本号不匹配会报错
    8. 每个zk节点存储的数据不宜过大,几K即可。
    9. 节点可以设置权限acl(权限控制列表),可以通过权限来限制用户的访问。
  2. zk客户端连接关闭服务端,查看znode

    1. 客户端连接
    2. 查看znode节点
    3. 关闭客户端连接
    4. 步骤如下:
      1. 使用的是window操作系统,打开zkServer.cmd后,再次打开zkCli.cmd,则会提示连接成功。
      2. 连接的是本地localhost,端口号是2181
      3. 通过ls命令查看。显示当前目录的一些列表
      4. 按下ctrl + c可以退出客户端连接
  3. zookeeper的作用体现

    1. master节点选举,主节点挂了以后,从节点就会接手工作,并且保证这个节点是唯一的,这也是所谓首脑模式,从而保证我们的集群是高可用的。(比如说鸡蛋不会放在同一个篮子里面)
    2. 统一配置文件管理,即只需要部署一台服务器,则可以把相同的配置文件同步更新到其他所有服务器,该操作在云计算中用的特别多(假设修改了redis统一配置)
    3. 发布与订阅,类似消息队列MQ(amq,rmq...),dubbo发布者把数据存在znode上,订阅者会读取这个数据
    4. 提供分布式锁,分布式环境中不同进程之间争夺资源,类似于多线程中的锁。
    5. 集群管理,集群中保证数据的强一致性
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值