什么是服务雪崩:
服务雪崩是指,由于服务提供者不可用导致服务调用者不可用,并且在生产过程中,这种不可用逐渐扩大的现象。
举个例子:
比如我们现在的系统中有个日志服务姑且叫A,现在有个课表服务(暂且叫B)需要使用日志服务,然后又有其他服务(暂且叫C),他们都是分布式并且做了一定的可用性,但是有一天,日志服务中有一个实例异常了那会有什么影响
1.如果服务B正在调用这个异常实例,那么B会不可用。
2.比如原来能容纳3000的并发,由于一台服务不可用,那么系统容忍并发量下降。
3.在2的基础上,如果刚好处于一个高并发的时间点,容忍并发量下降,在高并发的时候也许就会出现许多用户的请结果都是异常,甚至,A服务直接回因为高并发给压蹦。
4.服务A全部宕机,如果是强依赖的系统,那么也许整个系统都不可用。
发生原因:
服务雪崩的发生时间主要可归类为三个阶段:
1.服务提供者不可用
2.重复调用
3.服务调用者不可用
发生原因也大概可归类为如下几种情况:
解决方法根据上面的发生原因也归类为如下几种方式