Sentinel熔断策略-异常比例
异常比例
概念:异常比例 (ERROR_RATIO):当单位统计时长(statIntervalMs)内请求数目大于设置的最小请求数目,并且异常的比例大于阈值,则接下来的熔断时长内请求会自动被熔断。经过熔断时长后熔断器会进入探测恢复状态(HALF-OPEN 状态),若接下来的一个请求成功完成(没有错误)则结束熔断,否则会再次被熔断。异常比率的阈值范围是 [0.0, 1.0],代表 0% - 100%。
注意:异常降级仅针对业务异常,对 Sentinel 限流降级本身的异常(BlockException)不生效。

简单理解:

案例
编写测试接口
//FlowLimitController
@GetMapping("/testD")
public String testD(Integer id){
if(id != null && id > 1){
throw new RuntimeException("异常比例测试");
}
return "------------testD";
}
设置熔断策略异常比例

测试
我们通过JMeter来测试,设定HTTP请求地址

1秒钟发送10个请求

当启动JMeter的时候,就会触发熔断,因为此时我们1秒钟发送10个请求超过了最小请求数5,同时超过了阈值,满足了两个条件,当熔断时长过后就会恢复正常。

Sentinel的异常比例熔断策略基于单位时间内请求的错误比例,当超过预设阈值时触发熔断。例如,在1秒内收到10个请求,若有6个出现异常,若设置的阈值为50%,则会熔断。熔断期间请求将被直接拒绝,直到熔断时长结束后进入探测恢复状态。若下一个请求成功,熔断结束;否则,再次熔断。
426

被折叠的 条评论
为什么被折叠?



