大型高并发与高可用缓存架构总结3

缓存雪崩解决方案

redis集群完全崩溃,缓存服务大量对redis的请求等待,占用资源,随后缓存服务大量的请求进入源头服务去查询DB,使DB压力过大崩溃,此时对源头服务的请求也大量等待占用资源,缓存服务大量的资源所有耗费在访问redis和源服务无果,最后使自身没法提供服务,最终会致使整个网站崩溃。

事前的解决方案,搭建一套高可用架构的redis cluster集群,主从架构、一主多从,一旦主节点宕机,从节点自动跟上,而且最好使用双机房部署集群。
事中的解决方案,部署一层ehcache缓存,在redis所有实现状况下可以抗住部分压力;对redis cluster的访问作资源隔离,避免全部资源都等待,对redis cluster的访问失败时的状况去部署对应的熔断策略,部署redis cluster的降级策略;对源服务访问的限流以及资源隔离
过后的解决方案:redis数据作了备份能够直接恢复,重启redis便可;redis数据完全失败来或者数据过旧,能够快速缓存预热,而后让redis从新启动。而后因为资源隔离的half-open策略发现redis已经可以正常访问,那么全部的请求将自动恢复。redis