Как раздать 8,8 Гбит/с видео на одном ядре Go
Ошибочно отправленная ссылка уложила сервер: зрители одновременно открыли HLS-трансляцию, память закончилась, потоки оборвались. Автор собрал Ruseon Core на Go без перекодирования видео.
Кадр один раз попадает в буфер, а зрители читают те же байты. Отстающему подписчику сервер пропускает кадры до следующего ключевого, поэтому не хранит отдельную очередь видео для каждого.
В тесте 1000 пользователей за 70 секунд получили 81 ГБ данных: 8,8 Гбит/с и 60 822 HTTP-ответа без ошибок. В разборе Ruseon Core есть архитектура, исходники и нагрузочные тесты.
Post #14836
2.69K

- 👍 8
- 👏 2
- 🥰 1
- 🤩 1
- 😍 1
- 🐳 1
- 💋 1
- 😈 1
- 😴 1
- 🙈 1
- 🗿 1