Задать вопрос

Будут ли проблемы с доступностью приложения при динамической отдаче больших файлов?

Нужно раздавать большое количество файлов не по прямой ссылке, то есть через контроллер приложения. До и после окончания скачивания, нужно логировать определенную информацию. Может ли возникнуть такая ситуация, когда например в один момент времени идет скачивание n файлов и приложение становиться недоступно, потому что все воркеры заняты? Или я неправильно понимаю принцип работы?

Фреймворк: Ruby on Rails
Сервер: Nginx
  • Вопрос задан
  • 282 просмотра
Подписаться 2 Оценить 1 комментарий
Помогут разобраться в теме Все курсы
  • Яндекс Практикум
    Python-разработчик расширенный
    14 месяцев
    Далее
  • Яндекс Практикум
    Мидл фронтенд-разработчик
    5 месяцев
    Далее
  • Яндекс Практикум
    DevOps для эксплуатации и разработки
    6 месяцев
    Далее
Решения вопроса 1
viktorvsk
@viktorvsk
Правильно понимаете, воркеры будут занят, пока не отдадут контент.
Для таких вещей созданы сервисы типа Amazon S3, Viddler, Google drive, Dropbox и т.д.
Коротко: вы, используя данные своего аккаунта (Api key, access token), генерируете токен для доступа (определенный одноразовый url) для загрузки/отдачи приватного контента

Конечно, это актуально, если контент приватный.
Если у вас в public (для раздачи nginx) лежат файлы и вас устраивает, что скачать их может каждый, а залоггировать - только если скачано с веб-интерфейса и джаваскриптом (очень нестабильное решение) отправлен коллбэк, мол, "скачано" - то проблем с воркерами не будет.
Ответ написан
Пригласить эксперта
Ответы на вопрос 1
Загуглите nginx X-Accel-Redirect. С помощью этой штуки можно проверять доступ в приложении и потом непосредственно отдачу переложить на nginx. Про отслеживание окончания уже сказали.
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы