INTEGRITY Документация

Сессии и треки

Cloudflare Realtime предлагает простой, но мощный фреймворк для создания решений реального времени. В основе этой системы лежат три ключевых понятия: Приложения, Сеансы и Треки. Знакомство с этими концепциями критически важно для использования Realtime.

Приложение

Realtime Application представляет собой среду, в которой могут взаимодействовать различные объекты Session и Track. Примерами такой среды могут быть production, staging и другие окружения, где нужно разделять объекты Session и Track. Статистику использования Cloudflare Realtime можно получить на уровне Application, Session или Track.

Сеансы

A Сессия в Cloudflare Realtime напрямую соответствует WebRTC PeerConnection. Она представляет собой установление канала связи между клиентом и ближайшим дата-центром Cloudflare, который определяется anycast-маршрутизацией Cloudflare. Как правило, клиент поддерживает единственную Session, охватывающую все взаимодействия между клиентом и Cloudflare.

Треки

В рамках Session может быть один или несколько Треки.

Realtime как программируемый «коммутатор»

Аналогия с коммутатором хорошо подходит для понимания Realtime. Исторически операторы коммутаторов соединяли звонки, вручную вставляя штекеры. Похожим образом Realtime обеспечивает динамическую маршрутизацию медиапотоков, выступая в роли программируемого коммутатора для современной связи в реальном времени.

За рамками «Rooms», «Users» и «Participants»

Многие SFU используют концепцию "комнат" для управления медиапотоками между пользователями, но у такого подхода есть ограничения по масштабируемости и гибкости. Cloudflare Realtime использует более гранулярную и гибкую модель на основе Sessions и Tracks, что открывает широкий спектр сценариев использования:

Presence Protocol vs. Media Flow

Realtime разделяет протокол присутствия и медиапоток, что обеспечивает масштабируемость и гибкость в приложениях реального времени. Благодаря этому разделению разработчики могут создавать разные сценарии: от камерных звонков до масштабных трансляций с низкой задержкой.