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可精确记录缓存命中/未命中及降级事件。
Envoy 灾备缓存请求处理流程 客户端 Envoy 代理 L7 路由 + 熔断 + 缓存 灾备缓存 后端服务 请求 转发 正常响应 熔断/超时触发 返回缓存 降级响应 说明: 当后端服务返回 5xx、连接超时或熔断器打开时,Envoy 自动从灾备缓存读取过期响应返回给客户端。 缓存命中后,Envoy 仍会异步记录降级事件,供巡检系统分析。

1.3 课程目标

本课程旨在帮助SRE和平台工程师掌握Envoy灾备缓存的巡检、调优与运维方法。完成本课程后,你将能够:

  • 理解Envoy缓存架构与配置模型(HttpCache、LocalCache、外部缓存集成)。
  • 设计灾备缓存策略:缓存键、TTL、容量、淘汰算法。
  • 巡检缓存命中率、降级比例、内存使用等关键指标。
  • 调优缓存参数以平衡命中率与资源消耗。
  • 集成Prometheus + Grafana + 告警规则,实现自动化巡检。
模块 核心产出 适用角色
缓存原理与配置 Envoy缓存配置模板 平台工程师
指标采集与巡检 Prometheus规则 + Grafana面板 SRE
性能调优实战 调优checklist + 压测报告 性能工程师
故障演练与复盘 灾备缓存故障注入脚本 全栈SRE

1.4 学习路径

课程按“原理 → 配置 → 巡检 → 调优 → 实战”递进,建议按顺序学习:

  1. 第1-3章:灾备缓存基础与Envoy缓存架构。
  2. 第4-8章:缓存配置、指标暴露、Prometheus集成。
  3. 第9-15章:命中率分析、内存调优、淘汰策略。
  4. 第16-22章:熔断联动、故障注入、巡检自动化。
  5. 第23-30章:生产案例、压测、容量规划与复盘。
学习建议:每章末尾的“动手练习”部分建议在测试环境复现。课程提供Docker Compose示例,可快速启动Envoy + 后端 + 缓存 + 监控栈。
课程学习路径图 原理与架构 第1-3章 配置与指标 第4-8章 命中率调优 第9-15章 巡检自动化 第16-22章 实战 23-30 每个阶段包含理论讲解、Envoy配置示例、指标解读和动手练习。建议每完成一个阶段,在测试环境验证后再进入下一阶段。 第30章为综合案例:从零搭建生产级灾备缓存巡检体系。

1.5 前置知识要求

  • 熟悉Envoy基本概念(Listener、Cluster、Route、Filter)。
  • 了解HTTP缓存语义(Cache-Control、ETag、Expires)。
  • 具备Prometheus/Grafana基础使用经验。
  • 了解服务网格与Sidecar部署模式。
注意:本课程不涉及Envoy基础安装与入门。如对Envoy尚不熟悉,建议先学习Envoy官方入门教程或本系列的前置课程《Envoy基础与服务网格入门》。