zookeeper 学习(一):简单认识zookeeper

zookeeper 学习(一):简单认识zookeeper
zk官网

  • zk是什么?
    highly reliable distributed coordination. 来自官网,高可用的分布式协调服务,应用最多的场景就是用来做其他服务中间件的协调者,我最开始接触zk ,是用来做注册中心,后来搭建kafka,需要用zookeeper。官网的上面的应用场景 如下
    在这里插入图片描述
    其实zk内部就想一个文件系统一样,内部数据以节点znode的形式保存,节点的特性去帮助我们实现以上这些功能
    在这里插入图片描述

  • 安装zookeeper

    个人学习,这里推荐使用docker 安装,方便快捷,默认端口 映射 2181

    • docker pull zookeeper
    • docker run --name some-zookeeper --restart always -d zookeeper
      在这里插入图片描述
  • 使用zkcli.sh 客户端连接服务端操作

    • /bin/zkCli.sh -server 127.0.0.1:2181

    在这里插入图片描述

    • help 查询命令,很简单的,基本都能看懂
      在这里插入图片描述
  • 节点属性
    在这里插入图片描述

    • numChildren:当前节点子节点的数量
    • dataLength:当前节点保存的数据长度
    • ephemeralOwner:当前节点是否为临时节点,如果为临时节点则该值为
      sessionid,否则为0
    • dataVersion:当前节点的数据被修改的次数,也就是数据的版本
    • cversion:子节点的版本号
    • aversion:acl的版本号
    • czxid:表示当前节点被创建时的事务id
    • mzxid:表示当前节点被最后一次更新时的事务id
    • pzxid:表示该节点的子节点最后一次被修改时的事务id。只有子节点变化才会影响pzxid ,子节点的数据变化不会影响pzxid
zxid是事务编号,8字节的整型数,即64个比特位,前32位标识epoch,后32位用来计
数。
zxid的初始值为0,用二进制标识就是 00000000 00000000 00000000 00000000
每一次事务请求都会把后面32位的值+1,比如进行了10次事务请求,则zxid变为
00000000 00000000 00000000 00000000 00000000 00000000 00000000 00001010
每进行一次leader选举,前32位的值就会+1,并把后面的32位清零,则zxid变为
00000000 00000000 00000000 00000001 00000000 00000000 00000000 00000000
若一直没有进行leader选举,同时一直在发生事务请求,则后面32位会一直增加,极限
值是00000000 00000000 00000000 00000000 11111111 11111111 11111111
11111111
此时再发生事务请求,则把前面的32位+1,变成00000000 00000000 00000000
00000001 00000000 00000000 00000000 00000000
  • 节点特性
    • 持久节点,create 默认创建的就是持久节点,顾名思义,可以持久化的节点
    • 临时节点 ,create -e 临时节点客户端断开就会删除
    • 有序节点 create -s 会默认创建一个带自增序号的节点
    • 容器节点 create -c ,容器节点会随着所有子节点的删除而删除
    • TTL节点 带有过期时间的节点
  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值