Dark Launch (темное развертывание) — это стратегия, при которой новая функциональность развертывается в production, но остается скрытой от пользователей или включенной для ограниченной аудитории. Основная цель — протестировать новую функциональность в реальной среде без влияния на пользовательский опыт.
A/B-тестирование — метод сравнения двух версий функциональности (A и B) для определения, какая из них лучше по определенным метрикам.
| Характеристика | Dark Launch | A/B-тестирование |
|---|---|---|
| Видимость | Скрыто или частично | Видимо для пользователей |
| Цель | Техническая проверка | Бизнес-оптимизация |
| Метрики | Системные показатели | Пользовательские метрики |
| Длительность | Короткий период | Продолжительный период |
Пример реализации флаг-функции:
package main
import (
"featureflags"
"log"
)
func newFeatureHandler(w http.ResponseWriter, r *http.Request) {
if featureflags.IsEnabled("new_feature", r.UserAgent()) {
// Новая реализация
newFeatureLogic(w, r)
return
}
//