WebSocket и real-time

WebSocket — протокол двусторонней связи поверх TCP, критичен для real-time игровых механик.

Как работает

Соединение начинается с HTTP handshake с заголовком Upgrade: websocket. Сервер отвечает 101 Switching Protocols. Далее — постоянное соединение с обменом фреймами в обе стороны. Overhead кадра: 2–14 байт против сотен для HTTP. Один сокет — тысячи сообщений в секунду.

Применение в гейминге

Live-казино: раздача карт, действия крупье. Спортбеттинг: обновление коэффициентов, live-scores. Multiplayer: синхронизация состояния между игроками. Уведомления: изменение баланса, старт турнира. Чат: клиент-серверные сообщения без polling.

Масштабирование

Sticky sessions: балансировщик направляет клиента на тот же сервер. Redis pub/sub для координации между серверами. Максимум 10K–100K соединений на процесс (зависит от языка). Горизонтальное масштабирование: connection sharding по user_id.

Альтернативы

Server-Sent Events (SSE): односторонний stream, проще WebSocket. WebTransport: HTTP/3-based, замена WebSocket в браузерах. gRPC streaming: для микросервисов. Long polling: legacy fallback. WebSocket остаётся стандартом де-факто для 2025.