ZooKeeper 实战与源码剖析
么敬国
新东方集团首席架构师
18975 人已学习
新⼈⾸单¥59
课程目录
已完结/共 47 讲
ZooKeeper 实战与源码剖析
登录|注册
留言
9
收藏
沉浸
阅读
分享
手机端
回顶部
当前播放: 18 | ZooKeeper节点是如何存储数据的?
00:00 / 00:00
高清
  • 高清
1.0x
  • 2.0x
  • 1.5x
  • 1.25x
  • 1.0x
  • 0.75x
  • 0.5x
网页全屏
全屏
00:00
付费课程,可试看
01 | 课程介绍
02 | 内容综述
03 | 什么是ZooKeeper?
04 | ZooKeeper提供什么服务?
05 | 开始使用ZooKeeper
06 | 使用ZooKeeper实现Master-Worker协同
07 | ZooKeeper架构解析
08 | ZooKeeper API简介
09 | ZooKeeper API:Watch示例
10 | 使用ZooKeeper实现分布式队列
11 | 使用ZooKeeper实现分布式锁
12 | 使用ZooKeeper实现选举
13 | 使用Apache Curator简化ZooKeeper开发
14 | 如何安装配置一个ZooKeeper生产环境?
15 | 如何进行ZooKeeper的监控?
16 | 通过ZooKeeper Observer实现跨区域部署
17 | 通过动态配置实现不中断服务的集群成员变更
18 | ZooKeeper节点是如何存储数据的?
19 | 使用ZooKeeper实现服务发现(1)
20 | 使用ZooKeeper实现服务发现(2)
21 | 使用ZooKeeper实现服务发现(3)
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 Processor源码解读
42 | Standalone的ZooKeeper是如何处理客户端请求的?
43 | Quorum模式下ZooKeeper节点的Request Processor Pipeline
44 | ZooKeeper的Leader Election
45 | ZooKeeper的Zab协议
46 | 客户端和服务器端交互:Watch和Session
47 | 结课测试&结束语
登录 后留言

全部留言(9)

  • 最新
  • 精选
welike
老师的这个课讲的跳跃性太大了,知识点有点干巴巴

作者回复: 多谢您的建议。

2019-11-24
4
天使梦泪
老师好,zk的快照是每一个事务一个快照吗?

作者回复: 不是的。ZooKeeper有一个参数snapCount(https://zookeeper.apache.org/doc/current/zookeeperAdmin.html)和快照的生成有关,默认是100000。一个ZooKeeper节点会取[snapCount/2+1, snapCount]中间的一个随机数,每当有这个随机数这么多的事务时就生成一个新的快照。

2019-09-08
2
飞翔
老师 求教 如果我有三个zookeeper 组成的cluster, 那么这三个zookeeper里边的数据是一样的嘛? 也就是master node 每次写完了 都会同步到其他的节点上? master node如果死了, 会重新选举,如果slave node死了会怎么样?

作者回复: > 老师 求教 如果我有三个zookeeper 组成的cluster, 那么这三个zookeeper里边的数据是一样的嘛? 也就是master node每次写完了都会同步到其他的节点上? ZooKeeper要求在commit一个写操作之前就要在集群中大多数节点上进行日志写入。集群中某些节点的数据会稍微旧一些。建设ZooKeeper的3个节点是A,B和C:A是leader。例如,如果A和C的之间的网络很慢,一个写请求就有可能会被A和B处理之后被提交,这样C的数据就会旧一些。 > master node如果死了, 会重新选举,如果slave node死了会怎么样? 只要有大多数节点正常工作,ZooKeeper集群就可以正常工作。slave node死了不会发生选举。如果运维发现有节点有问题应该尽快进行节点的替换,可以通过reconfiguration(http://zookeeper.apache.org/doc/r3.5.5/zookeeperReconfig.html)来进行。

2019-10-03
1
kkxue
老师好,zk的整个data tree都会加载到内存么?

作者回复: 是的。

2020-01-02
泊浮目
老师,请教下——为什么要有快照文件呢?zxid又为什么要设置高低位呢?Epoch文件是用来存储什么数据的?
2020-01-01
1
6
追风也曾少年
epoch文件是啥?什么作用?这提了一下就结束了?
2021-04-09
1
惘 闻
老师讲的再详细点就好了.... 感觉每次就是点一下 然后不铺开讲
2021-01-21
1
WL
Epoch文件的作用是什么?
2020-01-10
1
vivaxiao
老师,请教一下,如果zk的所有node都挂了,要怎么处理呢?
2021-05-05
收起评论