Я просто прочитал руководство Hystrix, и я пытаюсь обернуть голову тем, как работает автоматический выключатель по умолчанию и период восстановления, а затем, как настроить их поведение.
Очевидно, что если цепь отключена, Hystrix автоматически вызовет команду getFallBack()
метод; это я понимаю. Но каковы критерии для того, чтобы в первую очередь сменить цепь? В идеале я хотел бы попробовать несколько раз нажать на поддержку поддержки (скажем, максимум 3 попытки), прежде чем мы рассмотрим, что служба отключена/нездоровая и отключите автоматический выключатель. Как я мог реализовать это и где?
Но я полагаю, что если я переопределяю автоматический выключатель по умолчанию, я должен также переопределить любой механизм, который обрабатывает период восстановления по умолчанию. Если служба поддержки отключается, это может быть по одной из нескольких причин:
- Отклики сети между клиентом и сервером
- Служба была развернута с ошибкой, которая делает невозможным возвращение действительных ответов клиенту
- Клиент был развернут с ошибкой, которая не позволяет отправлять действительные запросы на сервер
- Некоторые странные, мгновенные служебные икоты (возможно, служба делает крупную сборку мусора и т.д.).
- и др.
В большинстве этих случаев недостаточно иметь период восстановления, который просто ждет N секунд, а затем повторяет попытку. Если у службы есть ошибка, или если кто-то вытащил некоторые сетевые кабели в центре обработки данных, мы всегда будем получать сбои от этой услуги. Только в небольшом числе случаев клиент-сервис автоматически излечится без какого-либо взаимодействия с человеком.
Итак, я предполагаю, что мой следующий вопрос частично " Как настроить стратегию восстановления по умолчанию по умолчанию?", но я думаю, что это в основном: " Как использовать Hystrix для уведомления devops когда служба отключена и требуется ручное вмешательство?"