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

时间:2018-04-02 15:48:35

标签: java spring microservices hystrix circuit-breaker

我们是否有办法确定何时Hystrix从电路开路状态转为半开状态(睡眠时间间隔后)。当这种状态发生变化时,Hystrix能否触发事件?任何Hystrix属性都能告诉我们这个吗?如果它可以触发事件,请告诉方法。任何代码示例也会有所帮助。

谢谢, NIKHIL

1 个答案:

答案 0 :(得分:0)

hystrix无法通过任何方式将状态更改通知用户。 Hystrix在事件通知程序中提供了一些变量,但不包含与状态有关的事件(HALF_OPEN或CLOSE)。

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

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

并发布此信息,我们将执行各自的功能以检查circuitBreaker的状态,如:

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

因此您的服务可以使用这些服务返回的状态。