微服务断路器

66 阅读1分钟

Hystrix

系统A使用了Hystrix,在系统A上使用了Hystrix来包装 调用系统B的操作。那么Hystrix保护的是系统A还是系统B? 

 在这种情况下,Hystrix 主要是用于保护系统A。当系统A调用系统B的操作时,Hystrix 用于包装系统B的调用,提供以下主要保护机制: 

 1. **服务降级:** 如果系统B的调用失败,Hystrix 可以执行一个备选的降级逻辑,而不是传递错误到系统A。这有助于防止系统A受到系统B问题的影响。

 2. **熔断器:** 如果系统B的调用失败率超过了设定的阈值,Hystrix 可以打开熔断器,停止对系统B的调用,以防止问题进一步扩散到系统A。 

 3. **超时控制:** Hystrix 允许在调用系统B时设置超时时间,以防止长时间的等待。 

 虽然 Hystrix 在调用系统B时提供了这些保护机制,但请注意,这主要是为了确保系统A的稳定性和可用性。系统B仍然应该负责自身的稳定性和可用性,以便确保系统A和其他调用方能够正常工作。 Hystrix 的目标是在系统A一侧提供一层防护,使得系统A能够更好地应对系统B的潜在问题。 

 但作用是相互的,系统A的Hystrix作用下,系统A停止调用了系统B,那么对系统B也算是一种保护了。这是一种间接的保护。