Hystrix Circuit Breaker 是不是可以为某些端点关闭而为其他端点打开
Posted
技术标签:
【中文标题】Hystrix Circuit Breaker 是不是可以为某些端点关闭而为其他端点打开【英文标题】:Can Hystrix Circuit Breaker be closed for some endpoints and open for otherHystrix Circuit Breaker 是否可以为某些端点关闭而为其他端点打开 【发布时间】:2021-01-10 23:35:18 【问题描述】:假设 webServiceA 正在调用 webServiceB 的 Endpoint1 和 Endpoint2。
现在 Endpoint1 开始发送错误响应,并且 Web 服务 A 正在使用 Hystrix 断路器。电路是否仅针对 Endpoint1 或从 webServiceA 到 webServiceB 的所有端点处于 OPEN 状态?
【问题讨论】:
【参考方案1】:Hystrix 不知道任何网络服务连接,它可以用于任何事情。例如,如果您的 DB 连接速度较慢,您可以为此打开电路。
所以答案是否定的,它不会为所有端点开箱即用。但是,您可以将服务实现设置为以这种方式运行。
例如:
@Service
public class WebServiceA
@CircuitBreaker
public ResponseEntity<?> call(String url, String param)
// implementation here
restTemplate.exchange("http://webserviceA/" + url, ...);
方法call()
将是唯一访问public
访问级别的方法WebServiceA
。
【讨论】:
以上是关于Hystrix Circuit Breaker 是不是可以为某些端点关闭而为其他端点打开的主要内容,如果未能解决你的问题,请参考以下文章
Building Microservices with Spring Cloud - Fault tolerance Circuit breaker