Перейти к содержанию

RTP translator

Статус: не в релизе

RTP translator описывает ближайший целевой сервис для горизонтального масштабирования media plane. Его нельзя обещать как готовую функцию текущего релиза 3.0.

CAN-сервис VideoGrace

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.

Связанные разделы