Size: a a a

pro.rb (Ruby/Rails / RU)

2019 October 07

AI

Alex Ilizarov in pro.rb (Ruby/Rails / RU)
А вся схема может быть весьма сложной да.
источник

AB

Andrey Blinov in pro.rb (Ruby/Rails / RU)
Окей, как будем конвертировать?
источник

AI

Alex Ilizarov in pro.rb (Ruby/Rails / RU)
Andrey Blinov
Окей, как будем конвертировать?
скучный ffmpeg
источник

AB

Andrey Blinov in pro.rb (Ruby/Rails / RU)
10 000 видеофайлов по 100 минут, есть идеи?
источник

AI

Alex Ilizarov in pro.rb (Ruby/Rails / RU)
Andrey Blinov
10 000 видеофайлов по 100 минут, есть идеи?
скейлить микросервис? ))
источник

AB

Andrey Blinov in pro.rb (Ruby/Rails / RU)
как они попадут на микросервис? Что будешь делать с ошибками конвертации? Как будешь конвертить, сразу весь файл или нарезать частями потом склеить? Кто будет заниматься аторизацией, как понять чей файл и кто имеет доступ? Где посмотреть состоянии конвертации? Мониторинг/логгирование?
источник

AB

Andrey Blinov in pro.rb (Ruby/Rails / RU)
Мониторинг/логирование/авторазация это уже отлдельные сервисы
источник

AB

Andrey Blinov in pro.rb (Ruby/Rails / RU)
если конечно мы просто говорим про функцию def convert(file:) ffmpeg #{file}; end то вопросов нет, но таких систем не бывает
источник

AB

Andrey Blinov in pro.rb (Ruby/Rails / RU)
Логично предположить что когда файл сконвертируется нужно уведомить пользователя письмом/пушем/другую систему об окончании, шаблоны писем и все остальное тоже хранить в сервисе конвертации?
источник

AD

Anton Davydov in pro.rb (Ruby/Rails / RU)
Alex Ilizarov
хранится и отдается оно уже в других сервисах ) я же рассматривал один конкретный
в этом проблема как раз, нет требований и ограничений. пока этого не появится, можно вообще что угодно считать и все будет валидно
источник

AD

Anton Davydov in pro.rb (Ruby/Rails / RU)
самое забавное, что обычно сбор требований сложнее чем принятие решения по имплементации
источник

AB

Andrey Blinov in pro.rb (Ruby/Rails / RU)
ну тут пока конвертация в /dev/null точно есть)
источник

AI

Alex Ilizarov in pro.rb (Ruby/Rails / RU)
Отвечаю исходя из того что у нас относительно небольшой сервис

> как они попадут на микросервис?

Возьмет из очереди задач задание, оттуда получит ссылку на условный S3

> Как будешь конвертить, сразу весь файл или нарезать частями потом склеить?

Весь

> Кто будет заниматься аторизацией

У всех воркеров-конвертеров есть доступ к S3 бакету со списоком видео на конвертацию

> как понять чей файл и кто имеет доступ?

Воркеру приходит задание, не его задача разбираться какой доступ, он занимается конвертацией.

> Где посмотреть состоянии конвертации?

Для целей мониторинга? отдавать метрики из воркера в прометей например

> когда файл сконвертируется нужно уведомить пользователя письмом/пушем/другую систему об окончании

Засунуть в очередь результат конвертации (удачный/неудачный), дальше разбираются другие сервисы которые на это подписаны.

Все исходя из того что есть центральная шина для общения конечно.
источник

AI

Alex Ilizarov in pro.rb (Ruby/Rails / RU)
Anton Davydov
самое забавное, что обычно сбор требований сложнее чем принятие решения по имплементации
Самое забавное что многие начинающие сервисы сбором требований не занимаются, клепают кое как, потом удивляются что у них прод валится по паре раз в неделю.
источник

AI

Alex Ilizarov in pro.rb (Ruby/Rails / RU)
Вообще я согласен что смысла этот пример обсуждать нет в отрыве от конкретного проекта.
источник

AI

Alex Ilizarov in pro.rb (Ruby/Rails / RU)
Кроме того я не сеньор, не девопс, не архитектор, не занимался такими задачами. Поэтому наверное и дискутировать на эту тему некомпетентен.
источник

AB

Andrey Blinov in pro.rb (Ruby/Rails / RU)
источник

AI

Alex Ilizarov in pro.rb (Ruby/Rails / RU)
шо именно? )
источник

AB

Andrey Blinov in pro.rb (Ruby/Rails / RU)
Ну то что тебе прийдеться взаимодействовать с кучей сторонних сервисов по разным каналам и всеравно конвертация это просто получается)
источник

AI

Alex Ilizarov in pro.rb (Ruby/Rails / RU)
Ну там тонна точек отказа и не всегда явных, это очевидно. Ладно я говорю о вещах с которыми не работал, посыпаю голову пеплом, извините.
источник