> Представим следующий пайплайн:
> - Загрузка файла на сервер тригерит event "$file_path created" и ложите его
> в очередь.А если вообще нет никакой "загрузки на сервер" ?
> - С другой стороны очереди работают консюмеры, очень простые обертки над ffmpeg
> на высокоуровневом языке, на питоне например. Которые с некоторой задержкой приходят
и кто их должен писать?
> параметры записываются в базу данных: redis/memcached и т.д.
теперь нам надо следить за актуальностью, поддерживать, резервировать, а попутно ты выбрал как раз те две которые неперсистентны и при плановом апгрейде сервера - что? А если файликов пол-миллиончика?
> - nginx получает запрос на скачивание файла, ищет параметры шейпинга в своем
> кеше, если не находит забирает их из базы за rtt до
> неё, ложит в кешь, шейпит. Не находит данных в базе -
теперь у нас в nginx зависимость от базы данных, миллион костыликов чтоб не упереться в локи и не повиснуть нахрен если база затупила или до нее легла связность... Плюс еще одни кэши которые теперь ЕЩЕ раз надо валидировать, вовремя экспайрить, которые долго прогреваются. Вот здорово, вот красота-то какая!
> Что в этом сложного?
действительно...
> Потому что это универсальный механизм относительно любых форматов файлов (а не костыль
жаль что он вероятно совсем никому не нужен.
В отличие от вполне понятного даже васянскому локалхостеру желания прирезать аппетиты автоскачивальщикам в пользу тех кто просто смотрит онлайн и не ковыряться вручную измеряя битрейт (кстати, интересно что будет если он переменный).
> Все веб серверы УЖЕ УМЕЮТ общаться с тем же redis. Потому что
вовсе нет.
Зачем вебсерверу - какой-то там redis?
У nginx был когда-то какой-то редис-модуль, но он для автоматического кэширования, а не хранения произвольных переменных, кроме того он 3d party и какой-то совсем ужасно васянский (у него и memcache был странен и всегда проигрывал кэшированию на стороне приложений - хотя казалось бы, как).
В любом случае нахрена мне еще и редис сдался если я держу сервер для раздачи статических видеофайлов?
А вот парсер mp4 в сервере таки есть, по другому не работает таймлайн - браузер хочет начало фрейма (или секунду? Я уже забыл у кого секунды а у кого фреймы, у адоба и гугля сделано разумеется нарочно по-разному) а не просто случайный оффсет из середины потока.
> Если пользователь что-то хочет делать руками - это его право. Он в
ты совершенно вправе пердолиться с редисом и мемкэшом ради банального авторейтлимита.
Но боюсь наш гений совтваре девелопмента не умеет кодить и модуля универсального-редис-рейтлимитера мы от него не дождемся.
Хотя возможно такой и был бы востребован. Но явно реже чем модуль mp4 не требующий никаких внешних костылей и подпорок.