0%

Sentinel降级

Sentinel降级

Sentinel还可以对调用链路中不稳定的资源进行熔断降级

熔断策略

Sentinel 提供以下几种熔断策略:

  • 慢调用比例 (SLOW_REQUEST_RATIO):选择以慢调用比例作为阈值,需要设置允许的慢调用 RT(即最大的响应时间),请求的响应时间大于该值则统计为慢调用。当单位统计时长(statIntervalMs)内请求数目大于设置的最小请求数目,并且慢调用的比例大于阈值,则接下来的熔断时长内请求会自动被熔断。经过熔断时长后熔断器会进入探测恢复状态(HALF-OPEN 状态),若接下来的一个请求响应时间小于设置的慢调用 RT 则结束熔断,若大于设置的慢调用 RT 则会再次被熔断。
  • 异常比例 (ERROR_RATIO):当单位统计时长(statIntervalMs)内请求数目大于设置的最小请求数目,并且异常的比例大于阈值,则接下来的熔断时长内请求会自动被熔断。经过熔断时长后熔断器会进入探测恢复状态(HALF-OPEN 状态),若接下来的一个请求成功完成(没有错误)则结束熔断,否则会再次被熔断。异常比率的阈值范围是 [0.0, 1.0],代表 0% - 100%。
  • 异常数 (ERROR_COUNT):当单位统计时长内的异常数目超过阈值之后会自动进行熔断。经过熔断时长后熔断器会进入探测恢复状态(HALF-OPEN 状态),若接下来的一个请求成功完成(没有错误)则结束熔断,否则会再次被熔断

对应dashboard页面上是

降级规则
  • RT 平均响应时间,秒级,平均响应时间超出阈值且在时间窗口内通过的请求大于等于5,两个条件同时满足则触发降级,窗口期过后关闭断路器(RT默认最大4900,如果需要调整则配置-Dcsp.sentinel.statistic.max.rt)
  • 异常比例 QPS大于等于5,且异常比例(秒级)超过阈值时,触发降级,时间窗口时间后,关闭
  • 异常数 异常数(分钟级)超过阈值时,触发降级,时间窗口结束后,关闭降级