Как обновить высоконагруженный микросервис на новую версию без потери запросов? Что делать если миграция БД ломает старую версию?

Используйте постепенную замену экземпляров, readiness-проверки и завершение активных запросов. Несовместимую миграцию разбейте на expand–migrate–contract, чтобы обе версии временно работали с одной схемой.

Короткий ответ

Что ответить на собеседовании

Используйте постепенную замену экземпляров, readiness-проверки и завершение активных запросов. Несовместимую миграцию разбейте на expand–migrate–contract, чтобы обе версии временно работали с одной схемой.

Подробный разбор

Ответ с пояснениями

Используйте постепенную замену экземпляров, readiness-проверки и завершение активных запросов. Несовместимую миграцию разбейте на expand–migrate–contract, чтобы обе версии временно работали с одной схемой.

Сначала добавьте совместимые поля или таблицы, затем выложите код переходного чтения/записи и перенесите данные. Удаление старой схемы делайте после ухода старых экземпляров и согласованного окна отката. При остановке экземпляр перестаёт принимать новый трафик, но получает время завершить текущий; задания очереди подтверждаются после обработки. Дополнительно нужны запас мощности, метрики ошибок и идемпотентность повторов. Абсолютное отсутствие потерь нельзя гарантировать одной стратегией rolling update.

ИИ-помощник для собеседований

Хочешь уверенно проходить собеседования?

Попробуй ИИ-помощник для собеседований: слышит вас и собеседника, анализирует экран, подсказывает ответы в реальном времени, работает без VPN и не попадает в захват экрана.

Подробнее