缓存误用

作为服务之间传递数据的媒介

数据管道,数据通知场景,MQ更加适合 多个服务关联同一个缓存实例,会导致服务耦合

没有防雪崩

服务先读缓存,缓存命中则返回,缓存不命中,再读数据库 提前做容量预估,如果缓存挂掉,数据库仍能工作

  • 使用高可用缓存集群,一个缓存实例挂掉后,能够自动做故障转移
  • 使用缓存水平切分,一个缓存实例挂掉后,不至于所有的流量都压到数据库上。

雪崩

缓存挂掉,所有的请求会压到数据库,如果未提前做容量预估,可能会把数据库压垮(在缓存恢复之前,数据库可能一直都起不来),导致系统整体不可服务。