1. 课程导论:灾备缓存的概念、Envoy在灾备缓存中的角色、课程目标与学习路径
1.1 什么是灾备缓存?
灾备缓存(Disaster Recovery Cache)是一种在服务降级或后端不可用场景下,通过预先存储的静态或过期响应来维持服务可用性的缓存策略。它不同于常规的性能缓存(如Redis、Memcached),核心目标不是加速,而是保活。
| 维度 | 性能缓存 | 灾备缓存 |
|---|---|---|
| 主要目标 | 降低延迟、减少后端负载 | 后端不可用时维持服务 |
| 数据新鲜度 | 强一致或最终一致 | 允许过期数据 |
| 失效策略 | TTL、LRU、主动失效 | 保留至后端恢复或手动清除 |
| 命中后行为 | 直接返回缓存内容 | 返回缓存内容并记录降级事件 |
| 典型场景 | 热点数据、读多写少 | 服务熔断、机房故障、网络分区 |
关键认知:灾备缓存不是“慢缓存”,而是“最后一公里”的保命缓存。在Envoy中,它通常与熔断、重试、超时等韧性模式配合使用,形成完整的降级链路。
1.2 Envoy在灾备缓存中的角色
Envoy作为服务网格的数据面代理,天然处于请求路径的中间层,具备实现灾备缓存的独特优势:
- 请求拦截点:Envoy在L7层解析HTTP请求,可在转发前判断是否命中缓存。
- 熔断感知:Envoy内置熔断器(Circuit Breaker),可触发灾备缓存回退。
- 动态配置:通过xDS协议(CDS/EDS/RDS)动态更新缓存规则,无需重启。
- 可观测性:Envoy的Access Log、Stats、Tracing可精确记录缓存命中/未命中及降级事件。
1.3 课程目标
本课程旨在帮助SRE和平台工程师掌握Envoy灾备缓存的巡检、调优与运维方法。完成本课程后,你将能够:
- 理解Envoy缓存架构与配置模型(HttpCache、LocalCache、外部缓存集成)。
- 设计灾备缓存策略:缓存键、TTL、容量、淘汰算法。
- 巡检缓存命中率、降级比例、内存使用等关键指标。
- 调优缓存参数以平衡命中率与资源消耗。
- 集成Prometheus + Grafana + 告警规则,实现自动化巡检。
| 模块 | 核心产出 | 适用角色 |
|---|---|---|
| 缓存原理与配置 | Envoy缓存配置模板 | 平台工程师 |
| 指标采集与巡检 | Prometheus规则 + Grafana面板 | SRE |
| 性能调优实战 | 调优checklist + 压测报告 | 性能工程师 |
| 故障演练与复盘 | 灾备缓存故障注入脚本 | 全栈SRE |
1.4 学习路径
课程按“原理 → 配置 → 巡检 → 调优 → 实战”递进,建议按顺序学习:
- 第1-3章:灾备缓存基础与Envoy缓存架构。
- 第4-8章:缓存配置、指标暴露、Prometheus集成。
- 第9-15章:命中率分析、内存调优、淘汰策略。
- 第16-22章:熔断联动、故障注入、巡检自动化。
- 第23-30章:生产案例、压测、容量规划与复盘。
学习建议:每章末尾的“动手练习”部分建议在测试环境复现。课程提供Docker Compose示例,可快速启动Envoy + 后端 + 缓存 + 监控栈。
1.5 前置知识要求
- 熟悉Envoy基本概念(Listener、Cluster、Route、Filter)。
- 了解HTTP缓存语义(Cache-Control、ETag、Expires)。
- 具备Prometheus/Grafana基础使用经验。
- 了解服务网格与Sidecar部署模式。
注意:本课程不涉及Envoy基础安装与入门。如对Envoy尚不熟悉,建议先学习Envoy官方入门教程或本系列的前置课程《Envoy基础与服务网格入门》。