Системная архитектура веб-сайтов Cam Chat (tinychat, omegle, cam4)
Кто-нибудь знает, что за архитектура системы стоит за такими сайтами, как tinychat, omegle, cam4, chatroulette? А сколько нужно пропускной способности на соединение?
Если я не ошибаюсь, они используют какой-нибудь сервер потокового видео, такой как Flash Media Server, Wowza Media Server, Red5, Erlyvideo, но это потребует 20000 пользователей со скоростью 1 Гбит / с? Или они используют какое-то программное обеспечение, которое работает с peer2peer? Я нашел какое-то такое ПО, но все они требуют открытия некоторых портов UDP.
Кто-нибудь знает, сколько пользователей 1 серверный экземпляр с некоторыми из вышеуказанного серверного программного обеспечения может обрабатывать?
Я рад за любую справочную информацию.
2 ответа
По крайней мере, Chatroulette использует RTMFP и stratus для передачи видео с клиента на клиент, не передавая его на сервер (без большой пропускной способности). Это происходит через большинство простых домашних сетей благодаря пробиванию отверстий.
Настройка сеанса и метаданные проходят через сервер, но это простая передача сообщений, которую сегодня можно сделать практически с любой технологией. Afaik они используют FMS для этого.
См. http://labs.adobe.com/technologies/stratus/ и http://blogs.adobe.com/collabmethods/2008/12/try_rtmfp_and_clienttoclient_d.html
Грубый поток выглядит следующим образом:
- пользователь запускает браузер на сайт
- Flash-клиент подключается к серверу (исходящее соединение с сервером, может быть rtmp или что-то еще)
- Flash-клиент получает специальное разрешение на подключение за пределами политик, встроенных через API-интерфейс stratus
- Flash-клиент выполняет пробивание UDP-дырок одновременно с клиентом другого человека. Установлена прямая связь UDP, и они обмениваются аудио / видео данными.
Мне пришлось бы немного изучить его, чтобы выяснить, что они делают в качестве запасного варианта, но, скорее всего, это простой серверный ретранслятор данных с присоединенными требованиями к пропускной способности.
Я считаю, что чат-рулетка использует одноранговую функциональность, которая, как я полагаю, действительно уменьшит пропускную способность, в которой вы нуждаетесь, но кроме этого, я больше ничего не получил! Извини:)