Hystrix 断路器实现在 Zuul API 网关级别或在 REST API 服务级别

Hystrix Circuit Breaker Implementation be at Zuul API Gateway Level or at REST API Service Level

例如,我有两个 Rest Api 服务 运行

  1. https://my-app-one.com/get
  2. https://my-app-two.com/update

在 Zuul API 网关实施之后,请求将被路由到

Zuul 代理:

代理服务器 1:https://zuul-api-gateway.com/get 代理 2:https://zuul-api-gateway.com/update

问题:

  1. 我们可以在 Zuul API 网关级别实现 Hystrix Dashboard 吗?
  2. 如果在 API 网关级别实现,我们可以使用所有 Hystrix 命令吗?
  3. 挑战是什么,请提供文档或示例。

我已经有了 Hystrix 断路器和 Hystrix 仪表板的工作示例。我只想知道我是否可以在 Zuul API 网关级别移动 Hystrix 实现。

我认为我们只能在个人休息服务级别实施hystrix。我们无法在 zuul 路由级别实现 hystrix。

@IMNash:很遗憾,我无法对您最初的问题发表评论,所以恐怕我必须通过答案来问您。非常抱歉,我需要这样做,但我还没有足够的声望点数。

你是否必须走 Zuul 之路?如果没有,您可能要考虑使用 Spring Cloud Gateway. The relevant post from Baeldung 是一个令人大开眼界的事情。请参阅以下代码段:

//...route definition
.route(r -> r.path("/articles")
   .filters(f -> f.hystrix("some-command"))
   .uri("http://baeldung.com")
   .id("hystrix_route")

我自己测试过,是的,应用 Hystrix 就是这么简单。 下一步是根据您的需要配置 Hystrix 过滤器(例如超时、最大信号量等)。