标签:大于 request 整理 led flow 超时 接下来 就是 none
换个通俗的说法,如下
降级:保证主服务,停止其他不是主要的服务;
熔断:当服务调用第二/三方服务出现不可用或超时等情况,为防止系统线程池占满而出现雪崩,暂时对服务停止调用;
官方文档:[https://github.com/alibaba/Sentinel/wiki/%E7%86%94%E6%96%AD%E9%99%8D%E7%BA%A7]
SLOW_REQUEST_RATIO
):选择以慢调用比例作为阈值,需要设置允许的慢调用 RT(即最大的响应时间),请求的响应时间大于该值则统计为慢调用。当单位统计时长(statIntervalMs
)内请求数目大于设置的最小请求数目,并且慢调用的比例大于阈值,则接下来的熔断时长内请求会自动被熔断。经过熔断时长后熔断器会进入探测恢复状态(HALF-OPEN 状态),若接下来的一个请求响应时间小于设置的慢调用 RT 则结束熔断,若大于设置的慢调用 RT 则会再次被熔断;
ERROR_RATIO
):当单位统计时长(statIntervalMs
)内请求数目大于设置的最小请求数目,并且异常的比例大于阈值,则接下来的熔断时长内请求会自动被熔断。经过熔断时长后熔断器会进入探测恢复状态(HALF-OPEN 状态),若接下来的一个请求成功完成(没有错误)则结束熔断,否则会再次被熔断。异常比率的阈值范围是 [0.0, 1.0]
,代表 0% - 100%;
ERROR_COUNT
):当单位统计时长内的异常数目超过阈值之后会自动进行熔断。经过熔断时长后熔断器会进入探测恢复状态(HALF-OPEN 状态),若接下来的一个请求成功完成(没有错误)则结束熔断,否则会再次被熔断;
注:注意异常降级仅针对业务异常,对 Sentinel 限流降级本身的异常(BlockException
)不生效;
熔断关闭(Closed)
熔断开启(Open)
半熔断(Half-Open)
如下图:
经过熔断时长后熔断器会进入探测恢复状态(HALF-OPEN 状态)尝试恢复服务调用,允许有限的流量调用该服务,并监控调用成功率;
如果成功率达到预期,则说明服务已恢复,进入熔断关闭状态;如果成功率仍旧很低,则重新进入熔断状态;
Spring Cloud Alibaba从2.1.0版本到2.2.0版本升级后,Sentinel里面依赖进行了改动,且不向下兼容;
旧版:实现UrlBlockHandler并重写blocked方法;
新版:实现BlockExceptionHandler并重写handle方法;
Sentinel中的异常总类:
Sentinel 限流降级本身的异常 BlockException 限流异常 FlowException 降级异常 DegradeException 参数限流异常 ParamFlowException 系统负载异常 SystemBlockException 授权异常 AuthorityException
feign: sentinel: enabled: true
标签:大于 request 整理 led flow 超时 接下来 就是 none
原文地址:https://www.cnblogs.com/coder-zyc/p/14770697.html