当前播放: 06 | 使用ZooKeeper实现Master-Worker协同
00:00 / 00:00
高清
  • 高清
1.0x
  • 2.0x
  • 1.5x
  • 1.25x
  • 1.0x
  • 0.5x
网页全屏
全屏
00:00
付费课程,可试看
课程目录
第一章:基础篇 (7讲)
01 | 课程介绍
免费
02 | 内容综述
免费
03 | 什么是ZooKeeper?
免费
04 | ZooKeeper提供什么服务?
免费
05 | 开始使用ZooKeeper
免费
06 | 使用ZooKeeper实现Master-Worker协同
07 | ZooKeeper架构解析
第二章:开发篇 (6讲)
08 | ZooKeeper API简介
09 | ZooKeeper API:Watch示例
10 | 使用ZooKeeper实现分布式队列
11 | 使用ZooKeeper实现分布式锁
12 | 使用ZooKeeper实现选举
13 | 使用Apache Curator简化ZooKeeper开发
第三章:运维篇 (5讲)
14 | 如何安装配置一个ZooKeeper生产环境?
15 | 如何进行ZooKeeper的监控?
16 | 通过ZooKeeper Observer实现跨区域部署
17 | 通过动态配置实现不中断服务的集群成员变更
18 | ZooKeeper节点是如何存储数据的?
第四章:进阶篇 (4讲)
19 | 使用ZooKeeper实现服务发现(1)
20 | 使用ZooKeeper实现服务发现(2)
21 | 使用ZooKeeper实现服务发现(3)
22 | Kafka是如何使用ZooKeeper的?
第五章:对比Chubby、etcd和ZooKeeper (9讲)
23 | 什么是Paxos协议?
24 | 对比Chubby和ZooKeeper
25 | Raft协议解析
26 | 什么是etcd?
27 | etcd API: KV部分
28 | etcd API:Watch和Lease部分
29 | 使用etcd实现分布式队列
30 | 使用etcd实现分布式锁
31 | 如何搭建一个etcd生产环境?
第六章:ZooKeeper实现原理和源码解读 (16讲)
32 | 存储数据结构之B+tree
33 | 存储数据结构之LSM
34 | 本地存储技术总结
35 | ZooKeeper本地存储源码解析
36 | 网络编程基础
37 | 事件驱动的网络编程
38 | Java的事件驱动网络编程
39 | ZooKeeper的客户端网络通信源码解读
40 | ZooKeeper的服务器网络通信源码解读
41 | ZooKeeper的Request Processor源码解读
42 | Standalone的ZooKeeper是如何处理客户端请求的?
43 | Quorum模式下ZooKeeper节点的Request Processor Pipeline
44 | ZooKeeper的Leader Election
45 | ZooKeeper的Zab协议
46 | 客户端和服务器端交互:Watch和Session
47 | 结束语
06 | 使用ZooKeeper实现Master-Worker协同

06 | 使用ZooKeeper实现Master-Worker协同

么敬国
新东方集团首席架构师
47讲 约450分钟3045
单独订阅¥129
2人成团¥99
2
登录 后留言

精选留言(8)

  • 常山虎将
    老师,ls -w /workers 是不是只监听第一个事件?我发现如果输入一次 ls -w /workers,而worker变动多次,只有第一次master监听到了。视频中你每次变化都输入了ls -w /workers,所以每次都监听到了。。

    作者回复: 是的。ZooKeeper的watch是one-time trigger。一个Watch收一次通知。

    2019-09-29
    2
  • 陈敬丰
    老师好,我自己做实验遇到下面问题,/workers这个znode是怎么来的,你创建完/master之后直接就ls -w /workers 不太懂,我自己创建了一个/workers,create -e /workers "m2:2223",后面在创建create -e /workers/w1 "w1:2224"时报错Ephemerals cannot have children: /workers/w1,这是什么问题啊

    作者回复: 提前使用"create /workers"创建/workers这个znode。不能带"-e"这个选项。

    2019-09-07
    1
    1
  • 飞翔
    ls -w 和 stat -w 有啥区别啊 老师

    作者回复: ls列出一个znode下的子znode列表,stat是返回一个znode的stat信息。

    -w选项是用来一个设置一个watch,适用于ls和stat。

    2019-08-24
    1
  • 刘天庆
    workers节点是怎么来的 需要自己创建吗

    作者回复: workers使用"create /workers"创建

    2019-08-23
    1
    1
  • 旺旺
    老师,zookeeper,不是先要至少搭3台集群吗?

    作者回复: 生产环境一般至少3个节点。2个节点的话,1个节点宕了,工作的节点个数就不是2的大多数了,没有容错能力。3个节点的话,1个节点宕了,集群还可以正常工作。

    2019-10-08
    1
  • Curry30 👆
    老师,您好,有两个疑问:
    1. 为什么第一个创建的znode:m1会成为master?这跟创建顺序有关系吗?
    2.我创建了两个znode来监听/workers下的worker,两个znode都收到了监听消息,这跟您说的唯一master监听worker相悖了?

    作者回复: 在ZooKeeper上面创建/master这个znode,如果/master这个znode已经存在,这个创建就会失败。只有一个节点创建/master节点成功了,它才可以确认自已成了master。因为master1节点先做的创建,所以它的创建成功了,它就成了master。因为master2后做的创建,它的创建就会失败,它就知道自己没能成为master。

     多个节点必须遵循先成功创建/master这个znode,再监听/workers下的worker才能能保证master的唯一性。

    2019-09-26
  • Berry Wang
    workers 和master建立关系的过程没看懂啊

    作者回复: Master-Worker协同服务的要求:

    - 系统中有最多有一个master。
    - 系统中可以有多个worker。

    master监控系统中的worker,通常为worker分配任务。

    这个后面我会专门再讲一下。

    2019-09-15
  • 绅士
    疑问点,希望老师解答:
    1,create -e /workers/w1里面的workers是一个命令吗,还是说这个workers是一个节点名称,按照我的理解,这个workers是表示w1是workers的一个命令?
    2,老师创建的master和这两个workers有联系吗?如果有,是通过什么联系的?

    作者回复: 1. "create -e /workers/w1"是创建/workers/w1这个znode。/workers也是一个znode,这里用作目录。
    2. master监视/workers下面代表worker的znode的变化。常见的场景是master在收到worker的变化通知时,进行任务分配,例如把任务分给新worker。例如Kafka的controller就承担master的角色,broker就是worker。controller会把partition分配给新启动的broker。

    2019-09-02
    1
收起评论
看过的人还看
MySQL实战45讲

林晓斌  网名丁奇,前阿里资深技术专家

48讲 | 44239 人已学习

拼团 ¥79 原价 ¥99
Kafka核心技术与实战

胡夕  人人贷计算平台部总监,Apache Kafka Contributor

46讲 | 8610 人已学习

拼团 ¥79 原价 ¥99
消息队列高手课

李玥  京东零售技术架构部资深架构师

41讲 | 8631 人已学习

拼团 ¥79 原价 ¥99
分布式技术原理与算法解析

聂鹏程  智载云帆CTO,前华为分布式Lab资深技术专家

42讲 | 6212 人已学习

拼团 ¥79 原价 ¥99