你好,我是唐聪,etcd 活跃贡献者,腾讯资深工程师,欢迎你和我一起学习 etcd。
它的应用场景相当广泛,从服务发现到分布式锁,从配置存储到分布式协调等等。可以说,etcd 已经成为了云原生和分布式系统的存储基石。
另外,etcd 作为最热门的云原生存储之一,在腾讯、阿里、Google、AWS、美团、字节跳动、拼多多、Shopee、明源云等公司都有大量的应用,覆盖的业务可不仅仅是 Kubernetes 相关的各类容器产品,更有视频、推荐、安全、游戏、存储、集群调度等核心业务。
我想为你解决哪些问题?
- etcd Watch 机制能保证事件不丢吗? (原理类)
- 哪些因素会导致你的集群 Leader 发生切换? (稳定性类)
- 为什么基于 Raft 实现的 etcd 还可能会出现数据不一致? (一致性类)
- 为什么你删除了大量数据,db 大小不减少?为何 etcd 社区建议 db 大小不要超过 8G?(db 大小类)
- 为什么集群各节点磁盘 I/O 延时很低,写请求也会超时?(延时类)
- 为什么你只存储了 1 个几百 KB 的 key/value, etcd 进程却可能耗费数 G 内存? (内存类)
- 当你在一个 namespace 下创建了数万个 Pod/CRD 资源时,同时频繁通过标签去查询指定 Pod/CRD 资源时,APIServer 和 etcd 为什么扛不住? (最佳实践类)
更多类似问题:
我和 etcd 的那些事
你应该怎么学 etcd?
- etcd 基础架构
- Raft 算法
- 鉴权模块
- 租约模块
- 租约模块
etcd 基础篇思维导图:
实践篇我将为你解读实际使用 etcd 时,可能会遇到的各种问题,帮助你提前避坑、遇到类似问题时能独立分析、解决。
- 问题篇
- 性能优化篇
- Kubernetes 实践篇
- etcd 应用篇
实践篇内容你可以参考下面的思维导图: