0

有没有一种方法可以识别 Hystrix 何时从电路开路状态转变为半开路状态(在睡眠时间间隔之后)。当这种状态改变发生时,Hystrix 可以触发事件吗?任何 Hystrix 属性都可以告诉我们这一点吗?如果它可以触发事件,请告诉方法。任何代码示例也会有所帮助。

谢谢,尼基尔

4

1 回答 1

0

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

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

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

并发布此消息,我们执行相应的功能来检查断路器的状态,例如:

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

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

于 2020-05-11T18:02:15.910 回答