一、雪崩、穿透、击穿
1.雪崩:热点数据同时过期,所有请求直接全部打到db上,db直接挂掉(从机替代、重启后依然崩)。
1>.数据不过期,保证更新数据时同步更新缓存。
2>.定时刷新缓存不要设置相同过期时间(固定时间+随机/随机)。
3>.cluster热点数据分片(也存在问题,可能热点数据在一个分片上)。
2.穿透:用不存在的数据去请求,所有请求还是都打到db。(一般认为是非法请求)
1>.业务校验
2>.缓存null(看具体业务)
3>.网关层安全策略(nginx配置)
3.击穿:单个非常热点key突然过期,造成请求直接全部打到db上
1>.永不过期
2>.加锁解决getData方法
总结:
1>.本质类似都是请求到db,db撑不住导致服务挂掉
2>.可以引入cluster、服务降级限流、多级缓存宏观优化
网友评论