由断路器统计服务调用的异常比例、慢请求比例。如果超出阈值则会熔断该服务。拦截访问该服务的一切请求;而当服务恢复时,断路器会放行访问该服务的请求。
内部有一个状态机,由三个状态:
1.Open,
2.Half-Open
3.Closed 这种状态,断路器不会拦截任何请求。
配置两个东西:
1.熔断持续的时间
2.失败的阈值
断路器熔断的策略有三种:
1.慢调用,业务的响应时长(RT)大于指定时长的请求认定为慢调用请求。在指定时间内,如果请求数量超过设定的最小数量,慢调用比例大于设定的阈值,则触发熔断。
上图配置解读:统计最近10000ms内的请求,如果请求数量超过10次,并且慢调用(RT超过500ms的调用是慢调用)比例不低于0.5,则触发熔断,熔断时长为5秒。然后进入half-open状态,放行一次请求做测试。
案例:给UserClient的查询用户接口设置降级规则,慢调用的RT阈