Ответ
Zero Downtime Deployment (ZDD) — это метод развертывания обновлений без прерывания работы приложения для пользователей.
Как это работает:
- Новую версию развертывают параллельно со старой
- Трафик постепенно переключается на новую версию
- Старая версия остается доступной на случай отката
Техники реализации:
- Blue-Green Deployment (две идентичные среды, переключение между ними)
- Canary Releases (постепенный rollout для части пользователей)
- Rolling Updates (постепенное обновление инстансов)
Пример с балансировщиком:
upstream backend {
server old_version:3000;
server new_version:3000;
}
Преимущества:
- Нет downtime для пользователей
- Возможность быстрого отката
- Меньше рисков при обновлениях