- 多级缓存:Redis 不可用时本地缓存继续服务(秒级窗口)
- 限流:对回源数据库的并发设硬上限(如信号量/令牌桶)
- 熔断:错误率超阈值时直接返回降级值,不再回源
- 兜底数据:关键配置在本地留有快照(启动时加载)
- 演练:定期模拟 Redis 宕机,验证预案真实可用
降级路径示意
降级路径示意
get(key):
1) Redis 正常 -> 走缓存
2) Redis 超时/报错 -> 本地缓存(短 TTL)
3) 本地也没有 -> 限流器放行则查库,否则返回降级值
4) 全程记录降级计数并告警没有降级方案的架构等于把数据库暴露给缓存故障:预案要写进代码与演练,而不是文档里一句话。