Бюджет: 1909 USD Термін: 21 день
Для розробки on-premise системи «ViM» на 100 підключень (10 кімнат по 10 людей) критично важливо закласти правильну SFU-архітектуру з прицілом на ріст. Оптимально використовувати mediasoup в Docker з host-мережею, що виключить проблеми з NAT і дозволить ефективно утилізувати ядра процесора.
Мій підхід базується на розділенні сигнального шару (Node.js/Socket.io + Redis для кімнат) і медіасерверів. При зростанні навантаження до 1000 користувачів ми масштабуємо платформу горизонтально, додаючи SFU-ноді та зв'язуючи їх через PipeTransports. Щоб дати уявлення, ініціалізація воркера mediasoup виглядає приблизно так:
const worker = await mediasoup.createWorker({ rtcMinPort: 10000, rtcMaxPort: 20000 });
const router = await worker.createRouter({ mediaCodecs });
const transport = await router.createPipeTransport({ listenIp: '0.0.0.0' });
Готовий розгорнути базовий SFU-прототип в Docker на вашому тестовому сервері за 3 дні після отримання доступів.