【问题标题】:Hystrix Circuit Breaker Implementation be at Zuul API Gateway Level or at REST API Service LevelHystrix 断路器实现在 Zuul API 网关级别或 REST API 服务级别
【发布时间】:2019-03-19 03:40:22
【问题描述】:

例如,我有两个 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 Circuit Breaker 和 Hystrix Dashboard 的工作示例。我只想知道是否可以在 Zuul API 网关级别移动 Hystrix 实现。

【问题讨论】:

    标签: spring-boot netflix-zuul netflix-eureka hystrix


    【解决方案1】:

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

    你必须走 Zuul 方式吗?如果没有,您可能需要考虑使用Spring Cloud GatewayBaeldung 的相关帖子令人大开眼界。看下面的sn-p:

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

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

    【讨论】:

    • 谢谢... Greg.Route 定义看起来非常适合应用 Hystrix CB。我们也可以使用 Hystrix 过滤器吗?这就是你所说的。我还将查看 Baeldung 中的示例。
    • 是的,使用 Hystrix GatewayFilter Factory,您几乎可以在任何方面配置 Hystrix(参见:cloud.spring.io/spring-cloud-gateway/multi/…)。
    【解决方案2】:

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

    【讨论】:

      猜你喜欢
      • 2019-01-02
      • 2020-02-19
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多