1. 课程导论:etcd压测沙盘搭建课程目标、适用人群、前置知识要求、整体课程大纲概览

1.1 课程定位与核心目标

本课程面向需要深入掌握 etcd 性能基准测试与集群运维的工程师,通过从零搭建单节点到三节点 etcd 集群的压测沙盘,系统性地解决以下核心问题:

  • 环境标准化:消除“在我机器上能跑”的环境差异,提供可复现的压测基线。
  • 性能量化:掌握 etcd 读写延迟、吞吐量、QPS 等关键指标的采集与分析方法。
  • 集群行为验证:理解单节点与多节点在 Leader 选举、网络分区、磁盘 I/O 压力下的表现差异。
  • 故障注入与恢复:在沙盘中安全地模拟节点宕机、网络延迟、磁盘故障等场景。
一句话总结:学完本课程,你将拥有一个可随时重建、可任意折腾的 etcd 压测实验环境,并具备解读压测报告、定位性能瓶颈的实战能力。

1.2 适用人群

角色 痛点 本课程价值
SRE / 运维工程师 生产环境 etcd 性能抖动,难以复现和定位 提供隔离沙盘,安全复现生产级压测场景
Kubernetes 集群管理员 控制面组件依赖 etcd,但缺乏性能基准数据 掌握 etcd 性能基线制定与容量规划方法
中间件 / 存储开发 需要验证 etcd 在不同配置下的极限能力 搭建自动化压测流水线,对比不同版本/参数
技术架构师 评估 etcd 集群规模与业务负载的匹配度 通过压测数据支撑集群拓扑决策

1.3 前置知识要求

为顺利跟上课程节奏,建议学习者具备以下基础:

  • Linux 基础操作:熟练使用命令行,理解进程、文件系统、网络配置基本概念。
  • etcd 基本概念:了解键值存储、Raft 共识算法、Leader 选举等核心术语(课程会做简要回顾,但非零基础入门)。
  • Go 语言基础(可选):部分压测工具使用 Go 编写,理解基本语法有助于自定义压测脚本。
  • Docker / Docker Compose 基础:课程使用容器化部署沙盘,需掌握基本镜像拉取、容器启动、网络配置命令。
⚠️ 注意:如果你完全不了解 etcd 是什么,建议先阅读 etcd 官方文档的“Getting Started”章节,或观看本课程附录中的“etcd 核心概念速览”视频。

1.4 整体课程大纲概览

课程共 30 章,分为 5 个阶段,从环境搭建到高级压测分析,层层递进:

课程大纲概览:五阶段递进结构 阶段一 基础环境搭建 (第1-6章) 阶段二 单节点压测 (第7-12章) 阶段三 三节点集群 (第13-19章) 阶段四 故障注入 (第20-25章) 阶段五 报告与优化 (第26-30章) 各阶段核心产出: • 阶段一:Docker Compose 沙盘启动脚本、etcd 基础配置模板、压测工具链安装验证 • 阶段二:单节点 QPS/延迟基线报告、不同存储后端(SSD vs HDD)对比数据 • 阶段三:三节点集群 Leader 切换耗时、读写线性一致性验证、网络分区影响分析 • 阶段四:节点宕机/磁盘故障/网络延迟注入后的集群自愈与性能衰减曲线 • 阶段五:压测报告模板、性能调优 checklist、容量规划决策树 📌 课程特色 每章均提供可执行的 Docker Compose 配置与压测命令,所有实验在本地笔记本即可完成,无需云资源。 推荐学习路径与时间分配 • 基础扎实者:可直接从阶段二(第7章)开始,按需回看阶段一的环境配置章节。 • 新手建议:按顺序学习,每章实验时间约 30-60 分钟,总耗时约 20-30 小时。 • 团队学习:可分工搭建沙盘,每人负责不同故障场景,最后汇总压测报告。

1.5 课程交付物与学习成果

完成本课程后,你将获得以下可直接复用的资产:

  • 标准化沙盘模板:包含 Docker Compose 文件、etcd 配置文件、压测脚本的 GitHub 仓库模板。
  • 性能基线数据集:单节点与三节点集群在不同负载下的延迟分布、QPS 曲线、错误率统计。
  • 故障注入工具包:使用 tc(网络流量控制)、stress(压力工具)、fio(磁盘压测)模拟真实故障的脚本集合。
  • 压测报告模板:可直接用于团队内部汇报的 Markdown/HTML 报告框架,包含图表占位与解读指南。
💡 学习建议:准备一个单独的笔记本或虚拟机(建议 4 核 8G 以上),用于搭建沙盘。不要在生产环境或共享开发环境直接运行压测,避免影响其他服务。