📓 Archive

  • Pricing
  • Chess
  • Syntax
  • ZK

    FGJ: Create:2022/08/02 Update: (2024-10-24)

    ZK 简介 #

    zab协议

    description

    ZK 实现原理 #

    ZK 常用命令 #

    commandfunction
    help显示所有命令操作
    ls path [watch]使用ls 命令来查看当前znode中所包含的内容
    ls2 path [watch]查看当前节点数据,并能看到更新次数等数据
    create普通创建 -s 含有序列,-e 临时(重启或者超时消失)
    get path [watch]获得节点值
    set设置节点具体值
    stat查看节点状态
    delete删除节点
    rmr递归删除节点

    ZK stat 结构 #

    showexplain
    cZxid = 0x20000000ecreate 创建znode更改的事务ID
    ctime = Thu Aug 04 09: 33:08 UTC 2022create znode 创建时间
    mZxid = 0x20000000emodify 修改znode更改的事务ID
    mtime = Thu Aug 04 09:33:08 UTC 2022modify 修改时间
    pZxid = 0x20000000ep…. 添加或删除子节点的znode更改事务ID
    cversion = 0表示对此znode子节点进行更改的次数
    dataVersion = 0表示对此znode数据的更改次数
    aclVersion = 0表示对此znode的ACL进行更改的次数
    ephemeralOwner = 0x0ephemeral类型?znode 所有者session Id : 0
    dataLength = 11znode 数据字段长度
    numChildren = 0znode 的子节点的数量

    ZK 应用 #

    1. 共享锁
      • explain

      description

    2. 独占锁
    3. 公平锁
    4. 非公平锁
    5. 分布式锁
    6. 命名服务
    7. 配置中心

    ZK 问题 #

    1. 为什么需要半数机制?
    2. 为什么需要奇数台集群?

    comments powered by Disqus