The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]



Индекс форумов
Составление сообщения

Исходное сообщение
"Выпуск Angie 1.4.0, российского форка Nginx "
Отправлено Легивон, 12-Дек-23 22:07 
>потому что для видео это не совсем так работает. Будешь отдавать его медленнее чем оно предназначено воспроизводиться - тебя отп...дят счастливые зрители.

Как это противоречит тому что я написал выше?
Представим следующий пайплайн:
- Загрузка файла на сервер тригерит event "$file_path created" и ложите его в очередь.
- С другой стороны очереди работают консюмеры, очень простые обертки над ffmpeg на высокоуровневом языке, на питоне например. Которые с некоторой задержкой приходят в новый файл и смотрят его парамеры. Файл к слову может иметь любой формат в рамках поддерживаемого ffmpeg, в отличии от вкоряченого костыля. В том числе может быть вообще не видео файлом. Полученые параметры записываются в базу данных: redis/memcached и т.д.
- nginx получает запрос на скачивание файла, ищет параметры шейпинга в своем кеше, если не находит забирает их из базы за rtt до неё, ложит в кешь, шейпит. Не находит данных в базе - применяет описаное дефолтное поведение, например скорость больше чем требуется 99% файлов.
Что в этом сложного?
Все работает быстро, скейлится до бесконечности, не зависит от форматов файлов.
Ты ни разу не разрабатывал ПО? Не понимаешь что часто нужно жертвовать (только кажущимся) удобством в пользу архитектуры, в пользу общих переиспользуемых и ограниченых подходов, вместо решения здесь и сейчас (плевать что будет завтра)?

> почему бы действительно вместо того чтобы просто не взять параметры прямо из файла - не встраивать в веб-сервер взаимодействие с какими-то базами и еще какой-то отдельно кэш?!

Потому что это универсальный механизм относительно любых форматов файлов (а не костыль для какого-то одного), это существенно уменьшает уровень абстракций, это делает ПО поддерживаемым и имеющим шансы на будущее.
Все веб серверы УЖЕ УМЕЮТ общаться с тем же redis. Потому что таким образом проще всего добиться динамичекого поведения (а уж кеш имеют и подавно). Можешь посмотреть например, что представляет из себя протокол того же redis 5. Он настолько простой, что пользоваться им можно используя /dev/tcp client в bash.
Сейчас они в веб сервере реализовывают парсинт форматов видео файлов для конфигурирования шейпера под всеобщее улюлюкание. Завтра это импортозащекченное нечто принудительно начнет шейпить в зависимости от отношения передаваемого содержимого к рюсиюшке, правящей партии и прочей сиюминутной конъюнктуре. Это определенно не то и не в том месте поведение которого мы ожидаем.

> Попутно озадачив пользователя микроменеджментом этого всего вручную.

Если пользователь что-то хочет делать руками - это его право. Он в любом ПО найдет эту возможность.

 

Ваше сообщение
Имя*:
EMail:
Для отправки ответов на email укажите знак ! перед адресом, например, !user@host.ru (!! - не показывать email).
Более тонкая настройка отправки ответов производится в профиле зарегистрированного участника форума.
Заголовок*:
Сообщение*:
 
При общении не допускается: неуважительное отношение к собеседнику, хамство, унизительное обращение, ненормативная лексика, переход на личности, агрессивное поведение, обесценивание собеседника, провоцирование флейма голословными и заведомо ложными заявлениями. Не отвечайте на сообщения, явно нарушающие правила - удаляются не только сами нарушения, но и все ответы на них. Лог модерирования.



Партнёры:
PostgresPro
Inferno Solutions
Hosting by Hoster.ru
Хостинг:

Закладки на сайте
Проследить за страницей
Created 1996-2024 by Maxim Chirkov
Добавить, Поддержать, Вебмастеру