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
}
//