ai
3 мин
6 августа 2026 г.
Источник: Хабр ИИ & Нейросети

Как мы раздали 8 Гбитс видео на одном ядре CPU на GO. Проблема грохочущего стада

rusegal
rusegal
RSS AI Ingest
Как мы раздали 8 Гбитс видео на одном ядре CPU на GO. Проблема грохочущего стада

Я до сих пор помню тот день, когда случайно положил собственный тестовый сервер. Схема была банальной: пара IP-камер, простенький бэкенд, всё это выплёвывает видео в веб-морду. На тестах работало идеально. А потом кто-то закинул ссылку на т...

Я до сих пор помню тот день, когда случайно положил собственный тестовый сервер. Схема была банальной: пара IP-камер, простенький бэкенд, всё это выплёвывает видео в веб-морду. На тестах работало идеально. А потом кто-то закинул ссылку на трансляцию в корпоративный чат. По ссылке одновременно кликнула тысяча(ладно, ладно вру конечно, но запросов было много) человек. Сервер завизжал кулерами, оператива кончилась за три секунды, а камера вообще перестала пинговаться. Добро пожаловать в проблему Thundering Herd (эффект леммингов). Если вы хоть раз пробовали масштабировать раздачу live-видео, вы эту боль знаете. Когда толпа зрителей ломится смотреть один и тот же поток, типичный сервер пытается честно открыть новое соединение или запустить отдельный процесс отдачи для каждого. Итог всегда один — OOM (Out of memory) и лежачий процессор. Я не хотел решать это вливанием денег в толстые AWS-инстансы или покупкой нового железа. Была идея маршрутизировать всё максимально дешево, используя Go. Спойлер не будет долгим: в итоге мы выжали 8.8 Гбит/с на одном ядре процессора, причем сборщик мусора (GC) в этот момент вообще отдыхал. Рассказываю, как мы собрали Ruseon Core.

Хотите внедрить ИИ в ваш бренд?

Спроектируем и развернем автономных агентов и современный цифровой стек под ваши задачи.

Рассчитать проект