什么是缓存雪崩

缓存层如宕机或其他情况时导致不可用,流量达到后端,导致后端服务负载过高,引起异常。

示例图:

image.png

解决方案

  • 保证缓存层服务高可用性


如 Redis Sentinel、Redis Cluster 均可实现高可用方案,即使个别件节点、机器、甚至机房宕掉,依然可提供服务。

  • 依赖隔离组件为后端限流并降级


思路如推荐系统:当个性化推荐系统服务不可用,可使用热点数据进行补充,不至于前端展示异常。

同样如 Redis 、MySQL 等,当 Redis 服务不可用,可通过其他组件(如二级缓存、API网关限流等)机制进行保护后端服务。

  • 提前演练


提前演练缓存层宕机后,后端服务负载情况及可能出现的问题,进行预案处理。