世界上并没有完美的程序,但是我们并不因此而沮丧,因为写程序就是一个不断追求完美的过程。

  1. zk是以树状结构进行存储的,树的结点znode分为持久节点、临时节点、顺序节点、临时顺序节点
  2. zk集群中有主节点和从节点,主节点的主要功能是分配任务,从节点的主要功能是执行任务
  3. 首先,主节点会创建三个持久节点:/workers、/tasks、/assing:
    1. /workers用来存储从节点
    2. /tasks用来发布任务
    3. /assing用来接收任务
  4. 当从节点连接到主节点后,会在/workers中创建一个代表从节点的临时节点,并在/assing中创建一个任务监听节点,并设置任务监听器
  5. 当客户端连接到主节点后,会在/tasks中发布任务并设置监听器等待执行结果
  6. 当主节点监听到客户端发布的任务以后,会访问/workers节点,从中选取可以执行该任务的从节点,并在/assing中通知选中的从节点执行任务
  7. 当从节点在/assing中监听到有任务要执行时,就会执行分配给自己的任务,当任务执行完成后会在/tasks中返回任务的执行状态
  8. 客户端监听到从节点执行任务的结果,从而获取
  9. 至此,整个调用过程就结束了

zk - zookeeper主节点、从节点、客户端三者之间的交互相关推荐

  1. zookeeper简介以及C客户端用法

    zookeeper简介以及C客户端用法 前言 简介 zookeeper保证 理解zookeeper的顺序一致性 zookeeper 接口 安装 zoo.cfg参数详解 常用命令 C API zooke ...

  2. zookeeper集群节点热扩容和迁移详解

    推荐阅读 Helm3(K8S 资源对象管理工具)视频教程:https://edu.csdn.net/course/detail/32506 Helm3(K8S 资源对象管理工具)博客专栏:https: ...

  3. zbb20180929 zk Zookeeper的功能以及工作原理

    1.ZooKeeper是什么? ZooKeeper是一个分布式的,开放源码的分布式应用程序协调服务,是Google的Chubby一个开源的实现,它是集群的管理者,监视着集群中各个节点的状态根据节点提交 ...

  4. [转]ExtJs基础--Html DOM、Ext Element及Component三者之间的区别

    要学习及应用好Ext框架,必须需要理解Html DOM.Ext Element及Component三者之间的区别. 每一个HTML页面都有一个层次分明的DOM树模型,浏览器中的所有内容都有相应的DOM ...

  5. TCP三次握手、四次挥手、socket,tcp,http三者之间的区别和原理

    接着上一篇文章叙述: TCP/IP连接(在互联网的通信中,永远是客户端主动连接到服务端): 手机能够使用联网功能是因为手机底层实现了TCP/IP协议,可以使手机终端通过无线网络建立TCP连接.TCP协 ...

  6. Zookeeper:实现节点Barriers(即限定操作)

    1.声明 当前内容主要用于本人学习和复习之用,当前内容主要为使用Zookeeper实现壁垒的方式控制当前线程什么时候停止什么时候继续 当前内容来源:Barriers伪代码流程 2.查看分析流程 客户端 ...

  7. ZooKeeper 之Apache Curator 客户端使用

    ZooKeeper 原生不足之处: 超时重连,不支持自动,需要手动操作 Watch注册一次后会失效 不支持递归创建节点 Apache Curator apache的开源项目,解决watcher注册一次 ...

  8. 【笔记】从 Paxos 到 Zookeeper:第七章 Zookeeper 技术内幕之客户端

    文章目录 系统模型 数据模型 节点特性 版本-保证分布式数据原子性操作 Watcher-数据变更通知 ACL-保障数据安全 序列化与协议 序列化 通信协议 客户端 一次会话的创建过程 初始化阶段 会话 ...

  9. 2021年大数据ZooKeeper(三):Zookeeper数据模型和节点类型

    目录 Apache ZooKeeper Zookeeper数据模型 Zookeeper节点类型 Apache ZooKeeper Zookeeper数据模型 图中的每个节点称为一个Znode. 每个Z ...

最新文章

  1. flash 多张相片同时移动_Flash时代时代即将终止?早就预料到了
  2. 从“负电价”说起:谈谈德国新能源消纳的借鉴意义
  3. 【转】Android编程点滴(14) -- Android中资源文件夹res/raw和assets的使用
  4. 【MongoDB 工具篇】MongoDB Compass介绍与简单使用
  5. 用jquery实现简单的表单验证
  6. [渝粤教育] 广东-国家-开放大学 21秋期末考试市场调查与预测10243k2
  7. 转:Delphi开发经验谈
  8. 画java类图_java UML类图的使用
  9. Scintilla 开源库使用-如何设置页边背景色和前景色
  10. 图像质量评价(IQA)综述
  11. 【C语言】案例五十一 员工档案管理系统
  12. 微型计算机显卡,“智能”显卡 华硕ROG Matrix显卡赏析
  13. 送给我那八年同校的你
  14. 3000亿茶行业市场如何乘势数字浪潮,跑出世界品牌
  15. csv是什么意思中文_csv文件是什么意思
  16. bootstrapr表格父子框_JS组件系列之Bootstrap table表格组件神器【二、父子表和行列调序】...
  17. C# 高并发获取唯一ID算法
  18. 分享量化交易接口之网格交易的选股策略
  19. BZOJ3398 [Usaco2009 Feb]Bullcow 牡牛和牝牛
  20. 如何关闭 搜狐广告 弹框

热门文章

  1. SystemInit()时钟系统初始化函数解析
  2. “秒杀系统“设计原理
  3. 用于即使在太空中也能随时随地进行编码的移动应用程序
  4. html导航栏悬停过渡,JS 实现导航栏悬停效果
  5. 关于Docker,你要知道的都在这了
  6. 一篇项目开发进度周报
  7. Oracle 11.2.0.1 rac升级到11.2.0.4
  8. Problem F: Matrix Problem (III) : Array Practice Time Limit: 1 Sec Memory Limit: 4 MB Submit: 8787
  9. 用Java实现I am a student逆序输出为student a am I,不借助split方法和StringBuffer!
  10. veu中时间转换----element-UI上Date-Picker时间控件