Hystrix断路器在Spring Micro服务实现中触发事件

问题描述 投票:0回答:1

我们是否有办法识别Hystrix从电路开路到半开状态(睡眠时间间隔后)。当这种状态变化发生时,Hystrix可以触发一个事件吗?Hystrix的任何属性可以告诉我们吗?如果它可以触发事件,请告诉我们方法。任何代码示例也将是有益的。

谢谢,Nikhil

java spring microservices hystrix circuit-breaker
1个回答
0
投票

没有任何方法可以让Hystrix通知用户状态变化。Hystrix在事件通知器中提供了一些变量,但它不包含与状态有关的事件(HALF_OPEN或CLOSE)。

我们可以做的是创建一个机制,连续或延迟调用来检查hystrix命令的状态。hystrix实例可以通过以下方式获取。

HystrixCircuitBreaker circuitBreaker = HystrixCircuitBreaker.Factory.getInstance(HystrixCommandKey.Factory.asKey(name));

然后我们做各自的函数来检查断路器的状态,比如 。

circuitBreaker!=null, circuitBreaker.allowRequest(), circuitBreaker.isOpen();

所以你的服务可以使用这些返回的状态。

© www.soinside.com 2019 - 2024. All rights reserved.