Совместная работа в реальном времени
1) Что такое «совместная работа в реальном времени»
Совместная работа в реальном времени (Real-Time Collaboration, RTC) — это способность участников сети одновременно видеть, редактировать и согласованно исполнять действия (ставки/спины, модерация турниров, смена офферов, переключение платежных маршрутов, KYC-решения, эфиры стримов), сохраняя низкую задержку, цельную историю и безопасность данных между множеством организаций и регионов.
2) Ключевые сценарии real-time для iGaming
Live-контент: WebRTC/RTMP стримы студий, синхронизация ставок и результатов раундов, мгновенные лидерборды.
Real-time оркестрация маркетинга: включение/выключение офферов, миссий, баннеров, турнирных правил через фича-флаги и rule-engine без релиза.
Платежные операции: статус авторизации/чарджбеков, срезы по PSP/APM, мгновенный cut-over.
KYC/AML модерация: коллаборативные очереди, присвоение тикетов, решения в пару кликов, shared-комментарии.
War-room и инциденты: единые дашборды p95/ошибок, командные действия (рутинг трафика, перевод на резерв).
Совместная аналитика: ко-редактирование панелей, лайв-витрины событий (bets/spins/deposits).
Комьюнити/стримы: синхронные розыгрыши, чат-миссии, «нажатие красной кнопки» (стоп-кампания, стоп-провайдер).
3) Архитектурный фундамент
3.1 Транспорт и реальное время
WebRTC (SRTP/QUIC) для аудио/видео/дата-каналов; SFU для fan-out, MCU для микширования при конференциях.
WebSocket/HTTP-2/3 для сигналинга, чатов, лидербордов и команд.
QUIC: быстрая установка соединения, контроль перегрузки, устойчивость к потере пакетов.
QoS/приоритизация: медиапотоки > командные события > метрики.
Edge/CDN: близкие PoP для снижения RTT; кэширование и near-edge вычисления.
3.2 Согласованность и состояние
CRDT/OT для ко-редактирования (правила турнира, офферы, дашборды).
Саги и идемпотентность для бизнес-транзакций (награды, списания).
CAP-компромиссы: сильная консистентность для денег/балансов, eventual — для витрин/чатов.
Sticky-routing там, где требуется локальное состояние (live-стол), иначе stateless.
3.3 Событийная шина
Доменные топики: `spin/bet`, `round_start/result`, `deposit/withdrawal`, `kyc_status`, `fraud_signal`, `reward_granted`, `feature_toggle`.
Ключи партиций: `playerId`, `tableId`, `campaignId`, `operatorId`.
SLA доставки и lag консьюмеров как SLI; exactly-once по бизнес-смыслу с дедупликацией ключами.
3.4 Сервис-меш и маршрутизация
mTLS, outlier-ejection, circuit-breaker, retries с джиттером, пер-тенантные лимиты.
GSLB/Anycast для входящих точек; policy-routing по гео/латентности/комплаенсу.
4) Топологии и паттерны
4.1 Live-стримы и столы
Студии → SFU-слой (edge PoP) → CDN → клиенты.
Маркеры времени (time-sync: NTP/PTP) для честной синхронизации ставок и результатов.
Быстрый health-flip между SFU/CDN, таргетированное отключение проблемных узлов.
4.2 Совместные панели и правки (co-edit)
WebSocket-шина + CRDT для правил турнира/офферов/дашбордов.
Оптимистические апдейты с последующей конвергенцией и логом изменений.
4.3 Real-time платежный периметр
Event-outbox из оркестратора, «теплые» каналы к PSP, cut-over ≤ 60–90 c.
Token Bucket на исходящие вызовы, чтобы не уронить PSP в пик.
Fail-open/closed стратегии по типам ошибок (некритичные фичи vs деньги).
4.4 War-room и инциденты
Единый trace-id и «кнопки» действий (заморозить оффер, отключить провайдера, перевести GSLB-вес).
Совместные заметки и чаты, мигалки SLO/бюджета ошибок, бортовой журнал (WORM).
5) Модели безопасности и доступа
Zero Trust: короткоживущие токены, mTLS, JWS/HMAC S2S, привязка к устройствам/ASN.
Микросегментация: vendor-зоны (студии, PSP, KYC), изоляция финансового контура.
Минимизация PII: токены вместо ПДн, отдельные сейф-хранилища, DPIA/DPA.
RBAC/ABAC: права в реальном времени (кто может жать стоп-кнопку, менять лимиты).
Аудит: неизменяемые логи действий (кто/когда/что), SLA выдачи трейс-пакета.
6) Управление всплесками и перегрузкой
Backpressure: очереди перед «хрупкими» апстримами, деградация неключевых фич.
Rate limiting на уровне шлюзов и меш-политик; leaky/token bucket.
Autoscale по композитным сигналам (RPS, p95, lag, глубина очередей).
A/B throttling: дозирование фич по сегментам/региону для контроля рисков.
7) Наблюдаемость и SLO
SLI real-time:- Лайв-видео: e2e-задержка ≤ 300–800 мс, packet loss ≤ 0,5–1%.
- Критичные API: логин p95 ≤ 300–500 мс; депозит p95 ≤ 1,5–2,0 с; ставка p95 ≤ 150–250 мс.
- Шина событий: lag p95 ≤ 200–500 мс, доставка ≥ 99,9%.
- Co-edit/чаты: латентность апдейтов ≤ 150–300 мс.
- Coverage трейсинга ≥ 95% по критичным путям; корелляция L3↔L7.
- War-room-дашборды: регионы, провайдеры, PSP/KYC, контент, бюджет ошибок.
8) Экономика real-time (Cost-to-Serve)
Cost per stream (битрейт×мин) и per rps (API/шина), цена «одного cut-over».
Влияние p95/ошибок на CR депозита/ставки → GGR/маржа.
Headroom для пиков (30–50%) и стратегия экономии (выключение лишних узлов вне пиков).
9) Антипаттерны
SPOF-шлюз или единственный SFU/CDN без N+1 и health-flip.
Ретраи без лимитов → «шторм» и дубль транзакций/награды.
Глобальные блокировки в ко-редакте → фризы, потеря действий.
Смешение прод/стейдж в реальном времени; тест на живых ПДн.
Отсутствие time-sync → споры по «честности» раундов/срезов.
Фича без флагов: каждый фикс = релиз, нет мгновенного отката.
PII «гуляет» между участниками без токенизации и egress-контроля.
10) Чек-лист внедрения RTC
1. Определите домены real-time (live, офферы, платежи, KYC, war-room) и их SLO.
2. Разверните транспорт: WebRTC/SFU/CDN, WebSocket-шлюзы, QUIC, time-sync.
3. Введите CRDT/OT для ко-редакта; саги и идемпотентность для транзакций.
4. Настройте шину событий и rule-engine, фича-флаги и progressive delivery.
5. Включите Zero Trust, RBAC/ABAC, токенизацию, DPIA/DPA.
6. Соберите наблюдаемость: трейсы, метрики, профайлинг, war-room-процедуры.
7. Подготовьте DR/chaos-сценарии: падение SFU/PSP/KYC/провайдера, cut-over ≤ 90 c.
8. Свяжите с экономикой: Cost-to-Serve, бюджет на пиковые окна, co-funding с партнерами.
9. Зафиксируйте шаблоны артефактов: playbooks, SLO-лист, RACI, audit-trail.
11) Шаблоны артефактов (коротко)
Runbook Live-столов/SFU: пороги, шифты, флип-кнопки, тесты.
Incident Playbook: контакты, пороги, эскалации, формат RCA.
Feature Toggle Sheet: флаги, регионы, проценты, стоп-условия.
Data Sharing Matrix: поля, цель, правовая база, срок хранения.
Partner SLO Card: SLI, кредиты/пенальти, SLA на трейс-пакет.
12) Дорожная карта эволюции
v1 (Foundation): WebSocket/RTMP, базовые флаги, ручной war-room.
v2 (Integration): WebRTC/SFU на edge, сервис-меш-политики, шина событий, co-edit (CRDT).
v3 (Automation): autoscale по SLO, rule-engine, адаптивный битрейт/маршрутизация по SLI.
v4 (Networked Governance): межпартнерские RTC-процессы, совместные PoP, предиктивные подсказки ML.
Краткое резюме
Real-time — это не только видео и чат, это сквозная синхронизация решений и действий по всей сети: транспорт (WebRTC/QUIC), события и согласованность (CRDT/саги), безопасность (Zero Trust), наблюдаемость и SLO, плюс готовность к отказам. При такой архитектуре экосистема быстро реагирует на пики и инциденты, масштабируется без простоя и дает игроку опыт «здесь и сейчас» при предсказуемой экономике.