当前播放: 16 | 通过ZooKeeper Observer实现跨区域部署
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 | 结课测试&结束语
16 | 通过ZooKeeper Observer实现跨区域部署

16 | 通过ZooKeeper Observer实现跨区域部署

么敬国
新东方集团首席架构师
全集3857
新人首单 ¥29.9 原价 ¥129
4
登录 后留言

精选留言(4)

  • NoBody
    看了视频和评论的答疑,谢谢老师和各位提问的。感觉收获了不少

    作者回复: 谢谢

    2020-04-20
    1
  • 小学一年级
    为什么要给每个节点推送给propose 而不是直接 commite 呢?

    作者回复: 我想您说的是PPT第13页。以下是ZooKeeper leader处理一个写请求的过程:

    1. Leader把写请求通过propose消息发给所有的节点。
    2. Leader在收到集群中大部分节点的accept消息之后才可以发送commit消息给所有的节点。

    Leader不可以直接收到用户的写请求就commit。假设我们在图中的3节点集群中加入节点4和节点5形成一个5节点集群。节点2在收到写请求之后立刻给节点1发commit消息,节点1给客户端发写成功消息。如果在节点3、节点4和节点5收到这个commit消息之前发生了如下的网络分区。

        分区A 分区B
    节点1 节点2 | 节点3 节点4 节点4

    分区B中的节点可以新选举一个leader,从而丢失上述的写请求。丢失已经commit的写操作是不可以的。

    关于这一部分的细节,后续的章节会详细说明。


    2019-09-04
    1
  • 朱东旭
    由此看来zookeeper的写吞吐量岂不是不高而且无法提升.

    作者回复: 和读操作相比,写操作更耗时。而且对容错的要求越高,越要有更多的节点,写操作越耗时(因为写操作必须由leader来执行,还需要收到大多数节点的响应)。

    但是想要保证linearizable的写操作数据一致性和高容错,据我所知也没有其他更好的办法。

    ZooKeeper最佳的应用场景是写少读多的场景。

    2020-02-29
  • Douglas
    这种跨区域的observer节点,是不是会有较大的网络延迟,这个如何解决呢?

    作者回复: 这个没有太好的办法,我能想到的就是使用更好的网络资源。使用observer已经比使用follower好多了,跨区域消息少了。

    2019-09-11
    1
收起评论
看过的人还看
数据结构与算法之美

王争  前Google工程师

80讲 | 86472 人已学习

新人首单 ¥29.9 原价 ¥129
Kafka核心技术与实战

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

47讲 | 10987 人已学习

新人首单 ¥19.9 原价 ¥99
MySQL实战45讲

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

49讲 | 56248 人已学习

新人首单 ¥29.9 原价 ¥129
消息队列高手课

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

42讲 | 10981 人已学习

新人首单 ¥19.9 原价 ¥99