一.熔断方式
1.中间件支持熔断
2.支持节点级熔断
2.支持url前缀匹配
二.配置
1.延迟方式
expression = "LatencyAtQuantileMS(50.0) > 100"//50%延迟超过100ms
2.失败率方式
expression = "NetworkErrorRatio() > 0.30" //失败率超过30%
3.组合方式
expression = "LatencyAtQuantileMS(50.0) > 100 || NetworkErrorRatio() > 0.30"// &&、>、<、>=、<=、==、!=等操作符均支持
4.文件配置
expression = "LatencyAtQuantileMS(50.0) > 100 || NetworkErrorRatio() > 0.30" //表达式配置
rule = "/ucenter" //限流识别前缀,如不配置为全局限流
downgradeHttpStatus = 200//降级方案返回code
downgradeHttpStatusText = "json" //降级方案文本内容,注意json中"需要转义
5.consul catalog配置
"traefik.http.middlewares.middleware08.circuitbreaker.expression=LatencyAtQuantileMS(50.0) > 100 || NetworkErrorRatio() > 0.30",//表达式配置
"traefik.http.middlewares.middleware08.circuitbreaker.rule=/ucenter",//熔断识别前缀,如不配置为全局限流
"traefik.http.middlewares.middleware08.circuitbreaker.downgradeHttpStatus=200",//降级方案返回code
"traefik.http.middlewares.middleware08.circuitbreaker.downgradeHttpStatusText={\"params\":{\"sleep\":0,\"body\":100}}",//降级方案文本内容,注意json中"需要转义