【问题标题】:Using Hystrix to get list of services from Eureka through the circuit breakers使用 Hystrix 通过断路器从 Eureka 获取服务列表
【发布时间】:2016-09-12 11:09:00
【问题描述】:

我利用 spring-cloud。据我了解,当 Eureka 的客户端从 Eureka 服务器获取服务列表时,它使用 Ribbon 进行负载平衡。

客户端是否使用 Hystrix 通过断路器从 Eureka 获取服务列表?

【问题讨论】:

    标签: java spring spring-cloud microservices netflix-eureka


    【解决方案1】:

    有一个名为 Netflix Zuul 的网关服务(您也可以将其称为边缘服务)。客户端连接到网关服务,该服务反过来查询 Eureka Server 以获取适当的微服务详细信息。

    Hystrix 基本上使用了容错机制,可以在任何微服务中使用。它的优点是,如果任何 API 出现故障,它会优雅地处理应用程序中的错误。

    【讨论】:

      【解决方案2】:

      正如 shankarsh15 所说,当 API 调用中发生错误和/或超时时,Hystrix 实际上提供了弹性(例如回退)。

      我相信实际上是ribbon-loadbalance (LoadBalancerContext.java -> getServerFromLoadBalancer()) 决定了调用哪个客户端。

      这最终以类似于discoveryClient.getInstances("service-name") 的方式工作(也就是获取服务实例列表,然后使用循环法选择要使用的服务)

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2021-01-17
        • 2016-04-23
        • 2023-03-27
        • 2015-09-28
        • 2019-06-03
        • 2017-04-01
        • 2016-03-15
        • 2018-07-09
        相关资源
        最近更新 更多