Hystrix Circuit Breaker 是否可以为某些端点关闭并为其他端点打开

Can Hystrix Circuit Breaker be closed for some endpoints and open for other

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

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

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

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

例如:

@Service
public class WebServiceA {

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

}

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