首页 > 解决方案 > Hystrix Circuit Breaker 是否可以为某些端点关闭而为其他端点打开

问题描述

假设 webServiceA 正在调用 webServiceB 的 Endpoint1 和 Endpoint2。

现在 Endpoint1 开始发送错误响应,并且 web 服务 A 正在使用 Hystrix 断路器。对于 Endpoint1 或从 webServiceA 到 webServiceB 的所有端点,电路是否处于 OPEN 状态?

标签: springspring-boothystrix

解决方案


Hystrix 不知道任何网络服务连接,它可以用于任何事情。例如,如果您的数据库连接速度较慢,您可以为此打开电路。

所以答案是否定的,它不会为所有端点开箱即用。但是,您可以将服务实现设置为以这种方式运行。

例如:

@Service
public class WebServiceA {

  @CircuitBreaker
  public ResponseEntity<?> call(String url, String param) {
     // implementation here
     restTemplate.exchange("http://webserviceA/" + url, ...);
  }

}

并且该方法call()将是唯一可以访问的public访问级别方法WebServiceA


推荐阅读