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