architecture - 怎么电路又闭合了?

标签 architecture microservices hystrix

我正在尝试了解 Hystrix。我了解当服务调用 3rd 方服务并且该服务没有响应并且阈值已超过配置时,电路将被打开并且继续调用将被短路。
但我无法理解电路是如何再次闭合的。让我们假设我们的服务正在调用 3rd 方服务,并且该服务无法正常工作,因此电路已打开。 5 分钟后,该服务开始正常工作,现在电路应该关闭。调用服务如何知道第 3 方服务已经开始正常运行,现在应该关闭?

最佳答案

实际上存在三种状态:OPEN、CLOSED 和 HALF_OPEN。一旦断路器打开并且经过了一定的时间,它就会让单个请求潜入。这是 HALF_OPEN 状态。如果成功,断路器闭合,否则它返回到 OPEN 状态,直到再次过去该时间量,在那里它再次进入 HALF_OPEN 状态。您可以使用 circuitBreaker.sleepWindowInMilliseconds 属性指定从 OPEN 到 HALF_OPEN 的转换之间的时间量。

关于architecture - 怎么电路又闭合了?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51433860/

相关文章:

actionscript-3 - 游戏开发中的基于组件的架构

design-patterns - Hystrix 使用的 Bulkhead 模式是什么?

netflix - Hystrix 方法已弃用

heroku - 基于 Heroku 建议的云微服务设计

java.lang.NoClassDefFoundError : org/springframework/boot/Banner$Mode when using Hystrix

error-handling - @HystrixProperty无法解析为类型

c# - Breeze 在 SPA 架构问题中的适用性

javascript - 定义自定义 Javascript 函数的回调

architecture - 应该先创建ER图还是类图?

java - 微服务中的 session 管理