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