У нас есть ситуация, когда у нас имеется множество загрузочных приложений Spring, работающих в контейнерах (в OpenShift), которые обращаются к централизованной инфраструктуре (внешней по отношению к модулю), такой как базы данных, очереди и т. Д.
Если кусокцентральной инфраструктуры не работает, проверка работоспособности возвращается "нездоровой" (по праву так).Проблема в том, что проверка живости видит это и перезапускает модуль (проверка готовности также видит, что он выключен, поэтому приложение не запускается).Это нормально, когда доступно только несколько, но если многие (потенциально сотни) приложений используют это, это заставляет перезапускаться на всех из них (цикл сбоя).
Я понимаю, что отключение центральной инфраструктуры являетсяплохо.Это "не должно" никогда не случиться.Но ... если это произойдет (закон Мерфи), он бросит контейнеры в безумие.Просто кажется, что мы либо делаем что-то не так, либо нам нужно что-то перенастроить.
Пара вопросов:
- Если вы вынуждены использовать централизованную инфраструктуру из запущенного загрузочного приложения Springв контейнере в OpenShift / Kubernetes все ли проверки исполнительных механизмов все еще должны быть включены для бэкэнда?(подпрыгивание контейнера в действительности не исправит то, что бэкенд все равно был неактивным)
- Должна ли конечная точка / actator / health быть настроена как для датчика живучести, так и для датчика готовности?
- Какие общие настройки используютсянародное использование для проверки готовности / живости в приложении весенней загрузки?(тайм-ауты / интервал / и т. д.).