阿里P8架构师谈:什么是缓存雪崩?服务器雪崩的场景与解决方案
什么是应用服务雪崩 雪崩问题 分布式系统都存在这样一个问题,由于网络的不稳定性,决定了任何一个服务的可用性都不是 100% 的。当网络不稳定的时候,作为服务的提供者,自身可能会被拖死,导致服务调用者阻塞,最终可能引发雪崩连锁效应。 缓存雪崩 当缓存服务器重启或者大量缓存集中在某一个时间段失效,这样在失效的时候,也会给后端系统(比如DB)带来很大压力,造成数据库后端故障,从而引起应用服务器雪崩。 雪崩效应产生的几种场景 流量激增:比如异常流量、用户重试导致系统负载升高; 缓存刷新:假设A为client端,B为Server端,假设A系统请求都流向B系统,请求超出了B系统的承载能力,就会造成B系统崩溃; 程序有Bug:代码循环调用的逻辑问题,资源未释放引起的内存泄漏等问题; 硬件故障:比如宕机,机房断电,光纤被挖断等。 数据库严重瓶颈,比如:长事务、sql超时等。 线程同步等待:系统间经常采用同步服务调用模式,核心服务和非核心服务共用一个线程池和消息队列。如果一个核心业务线程调用非核心线程,这个非核心线程交由第三方系统完成,当第三方系统本身出现问题,导致核心线程阻塞,一直处于等待状态,而进...