Флаги
Флаг — именованная точка переключения в коде. можно. поддерживает два типа флагов, контекстные правила, сегменты и процентный роллаут.
Типы флагов
RELEASE
Стандартный фиче-флаг для постепенной раскатки. По умолчанию выключен — включается для целевой аудитории через правила активации.
KILLSWITCH
Аварийный выключатель. По умолчанию включён для всех — выключается при инцидентах. Проверяется как isEnabled(): если вернул false, функциональность заблокирована.
Когда что использовать
| RELEASE | KILLSWITCH | |
|---|---|---|
| Суть | Включает новую функциональность | Выключает проблемную функциональность |
| По умолчанию | Выключен (постепенно включается) | Включён (мгновенно выключается) |
| Пример ключа | new-checkout | kill-payment-gateway |
| Откат | Установить enabled: false или 0% | Установить enabled: false |
Контекстные правила
Контекстные правила (constraints) позволяют включать флаг для конкретных пользователей на основе атрибутов, переданных в SDK. Все правила внутри одной группы проверяются с логикой AND — должны совпасть все.
Каждое правило ссылается на контекст-дефинишен (поле field), задаёт оператор сравнения и допустимые значения. Тип контекста (string, number, time, semver) определяет, как оператор интерпретирует значение.
Подробнее — Контексты.
Сегменты
Сегмент — переиспользуемая группа пользователей, определённая через те же контекстные правила. Вместо дублирования правил на каждом флаге создаёте сегмент один раз и ссылаетесь на него.
Флаг может ссылаться на несколько сегментов — достаточно совпадения с любым (OR). Подробнее: Сегменты.
Процентный роллаут
Детерминированное распределение на основе MurmurHash32 от flagKey + userId (или sessionId). Один и тот же пользователь всегда попадает в одну группу.
Жизненный цикл
| Состояние | Описание |
|---|---|
| Активен | Флаг создан, доступен для оценки SDK |
| В архиве | Флаг заархивирован. SDK не получают его конфигурацию |
Флаг также может быть включён (enabled: true) или выключен (enabled: false) на каждом окружении независимо.
Что дальше?
- Правила активации — как настраивать таргетинг для окружения
- Сегменты — переиспользуемые группы пользователей
- Таргетинг — подробное руководство по настройке правил