异常数 (DEGRADE_GRADE_EXCEPTION_COUNT):当资源近 1 分钟的异常数目超过阈值之后会进行熔断。注意 由于统计时间窗口是分钟级别的,若 timeWindow 小于 60s,则结束熔断状态后仍可能再进入熔断状态。
异常数是按分钟来统计的,所以时间窗口必须大于等于60s
上图就是表示,在1分钟内统计异常数超过阈值了,开始触发降级,打开断路器,等时间窗口结束,关闭降级
主要讲控制台规则的使用,项目构建用以下的项目
https://blog.csdn.net/qq_41712271/article/details/117596349?spm=1001.2014.3001.5501
1 随便写两个测试方法,模拟运行时异常
@RestController
public class Controller_1 {@RequestMapping("/test_1")public Integer fangfa_1() {//从数组随机获取一个元素//先随机产生一个下标再获取元素//Integer[] inArr = {0,1,0,3,0,5,0,7,0,9};//int index = (int) (Math.random() * inArr.length);//return 500/inArr[index];return 900 / 0;}@RequestMapping("/test_2")public String fangfa_2() {return "bbbbbbbbbbbbbb";}
}
2 配置降级规则,异常数为5,时间窗口为65秒
3 请求接口,请求一次为by zero异常,请求两次也是报错,等请求到五次后就会出现服务降级,直接快速失败,等超过65s窗口期后,再请求接口,又会开始 异常数策略统计