RTP translator¶
Статус: не в релизе
RTP translator описывает ближайший целевой сервис для горизонтального масштабирования media plane. Его нельзя обещать как готовую функцию текущего релиза 3.0.
RTP translator — ключевой сервис для горизонтального масштабирования media plane. Он нужен, чтобы строить “кусты” RTP-трафика между нодами и площадками, а не держать весь fanout на одном центральном узле.
Зачем нужен¶
В небольшой инсталляции серверный RTP-путь может быть достаточно простым: RTC-нода принимает WebRTC от браузера и отдает RTP в общий контур. Но при росте числа участников, конференций, площадок и записывающих/обрабатывающих сервисов один центральный fanout становится ограничением.
RTP translator решает эту задачу: он принимает RTP-потоки от одной части системы и распространяет их дальше как управляемые ветки трафика. В результате media plane масштабируется горизонтально, а не только увеличением мощности одного сервера.
“Кусты” трафика¶
“Куст” — это группа клиентов, сервисов или нод, которым выгодно получать медиа через ближайший или выделенный RTP translator. Вместо схемы “все потоки всем через один центр” система может строить несколько веток:
- площадка или офис получает свой локальный RTP-куст;
- группа браузерных клиентов работает через ближайшие RTC-ноды;
- recorder и transcriber получают медиа через отдельную ветку;
- consolidator формирует оптимизированный поток внутри своего куста;
- межсерверный трафик становится предсказуемым и измеримым.
Преимущества¶
- горизонтальное масштабирование без обязательного транскодирования;
- меньше пикового fanout на одном сервере;
- лучше контроль межнодового трафика;
- проще размещать сервисы ближе к клиентам или площадкам;
- выше отказоустойчивость media plane;
- понятнее диагностика: видно, на какой ветке RTP возникла проблема.
Связь с RTC translator¶
RTC translator работает на границе браузера и серверного RTP-контура. RTP translator работает внутри серверного media plane и связывает RTP-ноды между собой. Эти роли дополняют друг друга:
- RTC translator отвечает за WebRTC edge;
- RTP translator отвечает за межнодовую RTP-маршрутизацию;
- CAN управляет ролями, заданиями, heartbeat и телеметрией.
Что важно для эксплуатации¶
- явная топология RTP-веток;
- телеметрия по packets/bytes/drops/errors на каждой ветке;
- контроль задержки и packet loss между площадками;
- быстрый failover при потере ноды;
- понятная связь с monitor service и dashboard.