微服务平台 TSF 关闭服务熔断和限流规则

用户在 TSF 控制台新建服务限流/熔断规则时,如果已通过 Hystrix/Sentinel 等组件配置了服务限流熔断规则,可能会与此处新建的规则产生冲突。如果确定要启用 TSF 的服务治理功能,需要关闭已经自建的规则。

相关产品
微服务平台 TSF 产品页,含版本规格、价格与购买入口。

一、操作场景

注意:某些配置可能会关闭其他功能,请注意使用,做好验证。

二、限流

组件 关闭方法
Resilience 不支持通过 property 配置,需自行修改代码来关闭。
Sentinel 不支持通过 property 配置,需自行修改代码来关闭。

三、Hystrix/Spring Cloud Hystrix

可以通过 property hystrix.command.default.circuitBreaker.enabled 关闭,修改 application.yml:

hystrix: command: default: circuitBreaker: enabled: false

如果用了 Feign,此方式也可以关闭其中的熔断功能。

四、Resilience

不支持配置,只能通过 transitionToDisabledState() 或自行修改代码来关闭。

transitionToDisabledState 示例如下:

public class ProviderServiceResilience { private final static String cbName = "default"; private final CircuitBreakerRegistry cbRegistry; public ProviderServiceResilience() { cbRegistry = CircuitBreakerRegistry.ofDefaults(); } public String run() { try { cbRegistry.circuitBreaker(cbName).executeCallable(…); } catch (Exception e) { } return "resilience fallback\\n"; } public void disable() { cbRegistry.circuitBreaker(cbName).transitionToDisabledState(); }}

五、Spring Cloud Circuit Breaker – Resilience

注意:此方法会关闭其他 Resilience 功能,如 TimeLimiter,请谨慎使用。

可以通过 property spring.cloud.circuitbreaker.resilience4j.enabled 关闭,修改 application.yml:

spring: cloud: circuitbreaker: resilience4j: enabled: false

六、Sentinel

需要自行修改代码来关闭。

七、Spring Cloud Circuit Breaker – Sentinel

可以通过 property spring.cloud.circuitbreaker.sentinel.enabled 关闭,修改 application.yml:

spring: cloud: circuitbreaker: sentinel: enabled: false

赞 (0)
上一篇 4天前
下一篇 4天前