别被“分布式存储”吓退,先搞懂 etcd 到底在干啥

很多人听到 etcd 就想到“分布式键值存储”,觉得深奥难懂。其实这门课解决的核心问题很具体:它是怎么让一群服务器在断网、宕机的情况下,依然能保持一致的数据状态?特别是对于正在学习 Kubernetes 的开发者,你常遇到的配置漂移、服务发现失败、甚至集群脑裂导致数据丢失,根源往往就在这里。课程不跟你讲枯燥的数学证明,而是通过拆解一个读请求、一个写请求的完整链路,让你直观看到数据如何在集群中流动和同步。适合有一定 Go 语言基础或了解过 Raft 协议的同学,如果你还在纠结为什么 K8s 必须用 etcd,或者想排查集群存储故障,这门课就是为你准备的。

从原理到实战,手把手教你搞定集群问题

光懂原理不够,关键得会修。课程后半段的实战篇专门针对运维和开发中最头疼的“人祸”场景。比如,明明集群看起来是健康的,为什么移除某个节点时却卡住了?或者为什么你的业务逻辑里,两个线程同时修改同一个配置会导致数据错乱?课程会带你深入分析成员变更失败的底层原因,教你通过 Watch 机制高效监听数据变化,利用事务安全地批量操作多 key。学完这些,你就不再是只会 `etcdctl put` 的初级用户,而是能独立处理集群扩容缩容、权限管控、版本冲突排查的实战派。建议先看“基础篇”里的架构和 Raft 协议,再结合“实践篇”的案例去模拟故障,效果最好。

配合资料包,把知识内化成排查肌肉记忆

光看视频容易走神,理解得快遗忘得快。这份资料包里的详细目录结构(如 MVCC、租约、压缩机制等章节)是本次学习的地图。建议你先通读一遍“基础篇”的文本,建立对 Raft 协议、多版本控制、持久化存储的宏观认知,然后再针对性地回看对应的视频讲解。比如,当你实际遇到集群节点数据不一致时,直接翻阅资料包中关于“数据一致性”和“脑裂”的章节,你能迅速定位是网络分区还是并发冲突。学完这门课,你应该能独立搭建一个高可用的 etcd 集群,编写自定义的鉴权策略,并具备独立分析存储性能瓶颈的能力。资料里的命令示例是最佳练习素材,请务必在本地环境敲一遍,不要只看不练。

课程目录

开篇词 (1讲)

  1. 开篇词|为什么你要学习etcd_

特别放送 (1讲)

  1. 特别放送 _ 成员变更:为什么集群看起来正常,移除节点却会失败呢?

基础篇 (11讲)

  1. 01 _ etcd的前世今生:为什么Kubernetes使用etcd?
  2. 02 _ 基础架构:etcd一个读请求是如何执行的?
  3. 03 _ 基础架构:etcd一个写请求是如何执行的?
  4. 04 _ Raft协议:etcd如何实现高可用、数据强一致的?
  5. 05 _ 鉴权:如何保护你的数据安全?
  6. 06 _ 租约:如何检测你的客户端存活?
  7. 07 _ MVCC:如何实现多版本并发控制?
  8. 08 _ Watch:如何高效获取数据变化通知?
  9. 09 _ 事务:如何安全地实现多key操作?
  10. 10 _ boltdb:如何持久化存储你的key-value数据?
  11. 11 _ 压缩:如何回收旧版本数据?

实践篇 (13讲)

  1. 12 _ 一致性:为什么基于Raft实现的etcd还会出现数据不一致?
  2. 13 _ db大小:为什么etcd社区建议db大小不超过8G?
  3. 14 _ 延时:为什么你的etcd请求会出现超时?
  4. 15 _ 内存:为什么你的etcd内存占用那么高?
  5. 16 _ 性能及稳定性(上):如何优化及扩展etcd性能?
  6. 17 _ 性能及稳定性(下):如何优化及扩展etcd性能_
  7. 18 _ 实战:如何基于Raft从0到1构建一个支持多存储引擎分布式KV服务?
  8. 19 _ Kubernetes基础应用:创建一个Pod背后etcd发生了什么?
  9. 20 _ Kubernetes高级应用:如何优化业务场景使etcd能支撑上万节点集群?
  10. 21 _ 分布式锁:为什么基于etcd实现分布式锁比Redis锁更安全?
  11. 22 _ 配置及服务发现:解析etcd在API Gateway开源项目中应用
  12. 23 _ 选型:etcd_ZooKeeper_Consul等我们该如何选择?
  13. 24 _ 运维:如何构建高可靠的etcd集群运维体系?

结束语 (1讲)

  1. 结束语 _ 搞懂etcd,掌握通往分布式存储系统之门的钥匙

结课测试 (1讲)

  1. 结课测试题|这些相关etcd知识你都掌握了吗?