Ribbon断路器和Hystrix的区别

Posted

技术标签:

【中文标题】Ribbon断路器和Hystrix的区别【英文标题】:Difference between Ribbon circuit breaker and Hystrix 【发布时间】:2016-01-11 13:22:54 【问题描述】:

我正在尝试使用 Spring Cloud 和 Spring Boot。它使用 Netflix OSS 应用程序,其中有 Ribbon 和 Hystrix。

Ribbon 是一个负载平衡器,具有一些功能,其中之一是断路器。

Hystrix 是一个断路器应用程序。

我不知道它们之间的区别。如果 Ribbon 已经带有断路器功能,为什么还要使用 Hystrix。

我可以在同一个连接器中使用这两个应用程序吗?

【问题讨论】:

【参考方案1】:

除了与 Hystrix 集成外,我不知道功能区中有任何断路器。我们建议同时使用 Ribbon 负载平衡器和 hystrix 断路器。

【讨论】:

感谢您的回答,本文摘自功能区网站。 github.com/Netflix/ribbon/wiki/… 和 github.com/Netflix/ribbon/wiki/… 这不是一个完美的断路器,但它可以完成这项工作。 断路器模式涉及的不仅仅是检查服务器是否启动,如果没有则继续下一个。探测(通过发送一些请求)、自动恢复、强大且可预测的故障处理等。 @spencergibb 有没有地方我可以找到ribbon和hystrix如何集成的地方。一些负载平衡IRules 像AvailabilityFilteringRule 会进行有限的断路(通过仅在看起来还活着的服务器之间对uprequest 进行负载平衡,如果没有看起来还活着,则会引发异常[也许?])。您能解释一下 Ribbon 如何处理非 200 响应并将该信息级联到 hystrix(是通过显式抛出异常吗?) 你能澄清一下“我们推荐”中的“我们”是谁吗?谢谢:)

以上是关于Ribbon断路器和Hystrix的区别的主要内容,如果未能解决你的问题,请参考以下文章

11RestTemplate+Ribbon整合断路器Hystrix

12Feign整合断路器Hystrix

Spring Cloud Hystrix 断路器

Spring Cloud断路器监控(Hystrix Dashboard)

15Feign整合断路器监控Hystrix Dashboard

15Feign整合断路器监控Hystrix Dashboard