zoukankan      html  css  js  c++  java
  • zookeeper 食谱

    以示例形式说明 zk 食谱。

    假定有 4 个客户端,分别执行 create -s -e /lock/read xx 或 create -s -e /lock/write 获取锁。

    一、获取读锁的情况:
    /lock/write001
    /lock/write002
    /lock/read003
    /lock/read004

    客户端 3 获取读锁:
    1. 创建 /lock/read003
    2. 获取 /lock 的孩子
    3. 发现 writexxx 的最小序号 1 比 3 小
    4. 发现 /lock/write002 存在
    5. watch /lock/write002 节点,获得通知后,再进入步骤 2

    /lock/write001
    /lock/read002
    /lock/read003
    /lock/read004

    客户端 2 获取读锁:
    1. 创建 /lock/read002
    2. 获取 /lock 的孩子
    3. 发现 writexxx 的最小序号 1 比 2 小
    4. 发现 /lock/write002 不存在
    5. 进入步骤 2

    /lock/read001
    /lock/write002
    /lock/read003
    /lock/read004

    客户端 1 获取读锁:
    1. 创建 /lock/read001
    2. 获取 /lock 的孩子
    3. 发现 writexxx 的最小序号 2 比 1 大,则获得锁

    二、获取写锁的情况:
    /lock/write001
    /lock/read002
    /lock/read003
    /lock/read004

    客户端 1 获得写锁:
    1. 创建 /lock/write001 节点
    2. 获得 /lock 孩子
    3. 发现最小的序号是 001,就是自己,则获得锁

    /lock/write001
    /lock/read002
    /lock/write003
    /lock/read004

    客户端 3 获得写锁:
    1. 创建 /lock/write003 节点
    2. 获得 /lock 孩子
    3. 发现 001 是最小的序号
    4. 发现 xx002 存在
    5. watch xx002,等待通知进入步骤 2

    /lock/write001
    /lock/write002
    /lock/read003
    /lock/read004

    客户端 2 获得写锁:
    1. 创建 /lock/write002 节点
    2. 获得 /lock 孩子
    3. 发现最小的序号是 001
    4. 发现 xx002 不存在,因为自己就是
    5. 进入步骤 2

    三、leader 选举
    创建顺序、瞬时节点:create -s -e /election/n- xx

    假定 4 个客户端,分别创建如下节点:
    /election/n-001
    /election/n-002
    /election/n-003
    /election/n-004

    则:
    /election/n-001 是 leader

    为了避免出现羊群效应,不让所有的客户端 watch 同一个节点。
    /election/n-002 watch /election/n-001
    /election/n-003 watch /election/n-002
    /election/n-004 watch /election/n-003

  • 相关阅读:
    Wireshark抓取网站用户名密码
    为ctf而生的web扫描器ctf-wscan
    windows下pip安装python模块时报错总结
    火绒剑获取IP位置
    shodan 搜寻公共摄像头
    肥猪流码农的逆袭之路(1)
    如何备份centos系统
    centos下nginx搭建drupal 8
    openstack学习笔记9-selfservice网络配置
    术语解释-什么是Overlay Network和Underlay Network
  • 原文地址:https://www.cnblogs.com/allenwas3/p/9279268.html
Copyright © 2011-2022 走看看