在微服架构中,因为各个服务的粒度较细,就会出现彼此之间的调用比较复杂,也就会出现请求链路较长的情况,这就导致了一个问题,如下:
就是在高并发情况下,这复杂的依赖调用,会对系统的稳定性造成威胁,比如一个登陆,调用了十个服务甚至更多,其中某个服务要是出现延迟或者超时再或者是宕机,就会造成登陆异常,就有可能会出现雪崩事件
关于雪崩概念和解决方案,请转移至下面链接查看:
说到这里,不得不说一下降级的标准,也不能啥情况都可以降级,也不是哪里都能降级,至此,提供一个参考指标,如下
1、平均响应时间:比如1s内有5个请求,对应时刻的平均响应时间要是超过阈值,那么就需要在一个固定的时间窗口内对这个方法的访问进行降级和熔断处理
2、异常比例:就是说当某个方法每秒调用所获得的异常总数的比例超过了之前设置的阈值时,该资源会自动进入降级,也就是在接下来的一个固定窗口内,对这个方法的调用都会自动返回一个兜底数据
3、异常数量:和异常比例差不多,就是当某个方法在指定时间窗口内获得的异常数量超过阈值时才会触发降级或熔断