之前几篇中,我们实验的是sentinel的流控,这里我们试试熔断降级,环境搭建参考八、springCloudAlibaba-整合sentinel
1、熔断降级的三种策略
我们可以在sentinel看到熔断降级有三种策略,分别是:慢调用比例,异常比例和异常数,现在我们来试试三种有什么区别
2、慢调用比例
慢掉用比例的意思就是在统计时长范围内,超过最小请求数的时候,如果请求数中的请求超过调用时长RT的请求所占比例大于我们设定的阈值,比如上面的配置,就是在30秒内,如果我们请求数超过5,统计到超过500ms的请求占比大于0.1,则会触发熔断。
我们的测试代码
@RequestMapping("/add")
public String add(String id) throws InterruptedException {
Thread.sleep(1000);
return "新增订单成功"+id;
}
经过试验,发现是会触发!
3、异常数比例
显而易见,异常数比例统计的是异常数占比,而不是调用时长,测试代码如下
@RequestMapping("/get")
public String get(String id) throws InterruptedException {
int i = 1/0;
return "查询订单"+id;
}
经过测试也是会按规则降级的!
4、异常数
这个更好理解,直接统计异常数了,测试代码跟异常数比例一样,经过测试也是会按规则降级的!