Skip to content
8 / 15

Как приложение должно стартовать и завершаться, чтобы выкаты проходили без ошибок?

При старте сервис должен сообщать о готовности только после того, как действительно готов: соединения установлены, кеши прогреты, конфигурация прочитана. При остановке порядок обратный и он важен: получив SIGTERM, приложение сначала перестаёт быть готовым (readiness отвечает отказом), даёт балансировщику несколько секунд убрать себя из ротации, затем прекращает принимать новые запросы, дожидается завершения текущих, закрывает соединения с базой и очередями и только потом завершает процесс. Без этой последовательности каждый выкат, каждое автомасштабирование и каждый отзыв spot-узла превращаются в порцию ошибок у пользователей.

Как приложение должно стартовать и завершаться, чтобы выкаты проходили без ошибок? | JScriptiser