下载APP
登录
关闭
讲堂
算法训练营
Python 进阶训练营
企业服务
极客商城
客户端下载
兑换中心
渠道合作
推荐作者
当前播放: 25 | Raft协议解析
00:00 / 00:00
标清
  • 标清
1.0x
  • 2.0x
  • 1.5x
  • 1.25x
  • 1.0x
  • 0.5x
网页全屏
全屏
00:00
付费课程,可试看

ZooKeeper实战与源码剖析

共47讲 · 约450分钟
2942
免费
01 | 课程介绍
免费
02 | 内容综述
免费
03 | 什么是ZooKeeper?
免费
04 | ZooKeeper提供什么服务?
免费
05 | 开始使用ZooKeeper
06 | 使用ZooKeeper实现Master...
07 | ZooKeeper架构解析
08 | ZooKeeper API简介
09 | ZooKeeper API:Watch示...
10 | 使用ZooKeeper实现分布式...
11 | 使用ZooKeeper实现分布式...
12 | 使用ZooKeeper实现选举
13 | 使用Apache Curator简化Z...
14 | 如何安装配置一个ZooKeepe...
15 | 如何进行ZooKeeper的监控...
16 | 通过ZooKeeper Observer...
17 | 通过动态配置实现不中断服...
18 | ZooKeeper节点是如何存储...
19 | 使用ZooKeeper实现服务发...
20 | 使用ZooKeeper实现服务发...
21 | 使用ZooKeeper实现服务...
22 | Kafka是如何使用ZooKeeper...
23 | 什么是Paxos协议?
24 | 对比Chubby和ZooKeeper
25 | Raft协议解析
26 | 什么是etcd?
27 | etcd API: KV部分
28 | etcd API:Watch和Lease...
29 | 使用etcd实现分布式队列
30 | 使用etcd实现分布式锁
31 | 如何搭建一个etcd生产环境...
32 | 存储数据结构之B+tree
33 | 存储数据结构之LSM
34 | 本地存储技术总结
35 | ZooKeeper本地存储源码解...
36 | 网络编程基础
37 | 事件驱动的网络编程
38 | Java的事件驱动网络编程
39 | ZooKeeper的客户端网络通...
40 | ZooKeeper的服务器网络通...
41 | ZooKeeper的Request Proc...
42 | Standalone的ZooKeeper是...
43 | Quorum模式下ZooKeeper节...
44 | ZooKeeper的Leader Elect...
45 | ZooKeeper的Zab协议
46 | 客户端和服务器端交互:Wa...
47 | 结束语
本节摘要

课前预习

为了有更好的学习效果,建议大家在看视频前把下面的资料看一下:

课件和 Demo 地址

https://github.com/geektime-geekbang/geekbang-zk-course

展开

精选留言(1)

  • 2019-09-29
    使用raft协议的系统,只有leader可以接受写请求,follower接受读请求?

    作者回复: Etcd支持以下两种read:

    1. Linearizable read(默认): 需要由Leader发起,Leader发送一个请求给所有节点,在收到多数节点的响应之后,才把结果返回给客户端。如果一个follower收到linearizable read的请求,需要转发给leader来处理。
    2. Serializable read(使用Get API的话要加WithSerializable选项): Leader和follower都可以在本地处理,时延低。

    只有Etcd的leader才能处理write。Follower在接到write请求后,要转发给leader来处理。

    参见https://github.com/etcd-io/etcd/blob/master/Documentation/faq.md#do-clients-have-to-send-requests-to-the-etcd-leader:
    > Raft is leader-based; the leader handles all client requests which need cluster consensus. However, the client does not need to know which node is the leader. Any request that requires consensus sent to a follower is automatically forwarded to the leader. Requests that do not require consensus (e.g., serialized reads) can be processed by any cluster member.

    1