Платформы с поддержкой live-дилеров

Введение

Live-казино с реальными дилерами — один из ключевых трендов индустрии. Платформы должны обеспечивать потоковое видео в высоком качестве, синхронную обработку ставок, чёткую логику раундов и надёжную защиту финансовых операций. Ниже описаны основные компоненты и архитектурные решения для запуска live-дилеров.

1. Видео-стриминг: WebRTC vs RTMP

WebRTC

Низкая задержка (≤200 мс), peer-to-peer или через SFU (Media Server).
Используется для интерактивных элементов: трансляция стола и WebSocket для управления.
RTMP → HLS/DASH

Широкая совместимость, но высокая задержка (5–10 с).
Подходит для массовых презентаций, а не интерактивных ставок.
Рекомендация: SFU-решение (Janus, Jitsi, mediasoup) для масштабирования WebRTC-потоков через CDN-edge.

2. Архитектура live-микросервисов

```mermaid
flowchart LR
subgraph Player
Browser/WebApp
end
subgraph Platform
API-Gateway
AuthService
SessionService
BetService
LiveService
MessageBroker[(Kafka/RabbitMQ)]
end
subgraph Streaming
SFU[mediasoup/SFU]
CDN[Edge CDN]
end
Browser/WebApp -->WS/RESTAPI-Gateway
API-Gateway --> AuthService
AuthService --> SessionService
SessionService --> LiveService
LiveService --> SFU
SFU -->WebRTCBrowser/WebApp
LiveService --> MessageBroker
MessageBroker --> BetService
BetService --> SessionService
```

LiveService управляет созданием комнат, авторизацией дилеров и игроков.
SFU (Selective Forwarding Unit) масштабирует видео-поток.
BetService обрабатывает ставки, синхронизированные по WebSocket.

3. Управление сессиями и раундами

1. State Machine

Состояния: `waiting`, `betting_open`, `betting_closed`, `result`, `payout`.
Переходы по таймерам (например, 30 с на приём ставок, 10 с на результат).
2. Синхронность

Каждый WebSocket-клиент получает `roundId` и таймстемпы начала/окончания приёма ставок.
BetService проверяет таймер и подтверждает или отклоняет ставки.

4. UI/UX для игроков

Встроенное видео-окно: PWA/SPA с `video` элементом, кастомный контрол `Bet Panel`.
Overlay-индикаторы: таймер обратного отсчёта, текущее задание дилера, история результатов.
Adaptive bitrate: автоматический выбор качества в зависимости от пропускной способности.

5. Масштабирование и отказоустойчивость

Auto-scaling SFU-кластеров: Kubernetes HPA по числу WebRTC-сессий.
Geo-регионы: edge-SFU в ключевых регионах, минимизация пинга.
Failover: резервный SFU-кластер с перенаправлением через health-checks.

6. Безопасность и соответствие

mTLS между микросервисами и SFU для аутентификации потоков.
TLS-шифрование WebRTC (DTLS/SRTP) и WebSocket (WSS).
Anti-fraud: ограничение количества ставок на пользователя, скоринг аномалий (PMF-паттерны).
KYC/AML: верификация перед допуском к live-столу, автоматические проверки high-roller ставок.

7. Мониторинг и аналитика

Метрики SFU: concurrent streams, packet loss, RTT, jitter.
Bet-metrics: ставки на раунд, время отклика, процент успешных транзакций.
Dashboards: Grafana с разбивкой по столам, регионам, качеству видео.
Alerting: PagerDuty при packet loss >5 % или p99 latency >500 мс.

Заключение

Поддержка live-дилеров требует сложного стека: low-latency видео через WebRTC и SFU, надёжную синхронизацию ставок, отказоустойчивую микро­сервисную архитектуру и жёсткие меры безопасности. Правильный выбор компонентов и их интеграция обеспечивает плавный, интерактивный опыт и масштабируемость под тысячи одновременно играющих.