Автоматический выключатель Hystrix запускает событие в реализации сервиса Spring Micro

Есть ли способ, которым мы можем определить, когда Hystrix переходит из разомкнутой цепи в полуоткрытое состояние (после интервала ожидания). Может ли Hystrix инициировать событие при изменении этого состояния? Любая собственность Hystrix может рассказать нам об этом? Если это может вызвать событие, укажите подход. Любые примеры кода также будут полезны.

Спасибо, Нихил


person Nikhil V    schedule 02.04.2018    source источник
comment
Проверьте плагин уведомления о событиях. github.com/Netflix/Hystrix/wiki/Plugins#eventnotifier   -  person Davin    schedule 03.04.2018
comment
проверить эту ветку в проекте Hystrix github.com/Netflix/Hystrix/issues/1541. Это может помочь вам.   -  person Yogendra Mishra    schedule 02.05.2018


Ответы (1)


Не существует подхода, с помощью которого hystrix будет уведомлять пользователя об изменении состояния. Hystrix предоставляет некоторые переменные в уведомлении о событиях, но не содержит событий, относящихся к состоянию (HALF_OPEN или CLOSE).

Что можно сделать, так это создать механизм, который вызывает постоянно или с задержкой, чтобы проверить состояние команды hystrix. Экземпляр hystrix можно получить:

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

и опубликуйте это, мы выполняем соответствующие функции для проверки состояния CircuitBreaker, например:

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

Таким образом, ваша служба может использовать состояние, возвращаемое ими.

person Shiv Kumar Yadav    schedule 11.05.2020