Ответ
Канареечный деплой — это стратегия развертывания, при которой новая версия приложения постепенно внедряется для небольшой части пользователей (как канарейка в шахте — индикатор проблем). Это позволяет выявлять ошибки и оценивать стабильность перед полным релизом.
Пример на Go:
func main() {
// Проверяем, является ли пользователь частью канареечной группы
if isCanaryUser(userID) {
serveNewVersion() // 5% трафика
} else {
serveStableVersion() // 95% трафика
}
}
Плюсы:
- Минимизация рисков
- Возможность быстрого отката
- A/B-тестирование функционала
Минусы:
- Усложнение инфраструктуры
- Необходимость мониторинга метрик