缓存雪崩解决方案

2021/5/18 18:25:55

本文主要是介绍缓存雪崩解决方案,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!

概念
服务器重启或者因为失效期造成的在同一时间内,缓存同时失效,导致一瞬间所有的请求都聚集到数据库上,从而导致的连锁反应;

缓存雪崩解决方案


想要解决首先要找到缓存雪崩产生的原因:
主要的几种场景:
缓存服务器不可用;---对应解决方案,redis集群;保证有缓存可用(HA);
热点缓存失效;---热点缓存永不失效,例如定期去更新热点缓存等;
高峰访问器缓存失效;---对应方案一,增加服务器,平衡服务器压力(HA)或者限流模式,对服务设置qps阈值;
缓存失效时间一致导致;---失效日期随机,或者增加刷新缓存机制;
其他:
程序bug导致等,

以上为预防缓存雪崩的方案,特定的场景缓存雪崩可能还会出现,因此需要对后续进行防守,

 防守方案:

1,熔断模式
a.缓存失效后,会对数据库服务器增加压力导致连锁反应,因此可用对数据库的访问增加互斥锁,减少数据库的压力。
b.通过监控服务器的指标,如cpu,线程数,长事务sql等,来对后面的请求进行阻隔;
(熔断判断算法,熔断恢复,熔断的预警)
2,隔离模式
系统的服务互相独立,这样在一个服务挂掉后,其他还能正常运转;



这篇关于缓存雪崩解决方案的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!


扫一扫关注最新编程教程