我们是否有办法确定何时Hystrix从电路开路状态转为半开状态(睡眠时间间隔后)。当这种状态发生变化时,Hystrix能否触发事件?任何Hystrix属性都能告诉我们这个吗?如果它可以触发事件,请告诉方法。任何代码示例也会有所帮助。
谢谢, NIKHIL
答案 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();
因此您的服务可以使用这些服务返回的状态。