Привет. Вопрос по серверам имеется, прошу совета. На проекте ожидается большое

кол-во видео файлов на хранении у сервера.
также нужно обеспечить высокую скорость загрузки видео на сервер и чтениях их с сервера на клиенте.
Если я правильно понимаю тут важна ширина моего канала и скорость записи и чтения данных на диске.
Поэтому выбор пал на NVMe + 400 Мбит/с канал. - поравьте если тут что-то не так.

Но есть проблема с тем, что одно видео в среднем весит около 200 МБ
В день пользователи могут загрузить 100 таких файлов.
Получается NVMe на 200ГБ будет забит за 10 дней. Следовательно это тупо так делать изначально.
Вопрос куда мне перетащить хранение файлов, чтобы не потерять скорость загрузки?

15 ответов

19 просмотров

а если рассмотреть сторонние сервисы (по типу облак)?

просто грузи на HDD, побольше оперативной памяти. И так будет нормально работать. хдд 2-3гбс спокойно держит с файловым кешем.

Dmitry-Goncharenko Автор вопроса
inzanty
а если рассмотреть сторонние сервисы (по типу обла...

тогда вопрос: куда пользователь загружает свой файл? Сразу на облако или сначала на NVMe сервер, а потом этот сервер уже передаёт файл в облако на хранение

Dmitry-Goncharenko Автор вопроса
The Ant 🐜
просто грузи на HDD, побольше оперативной памяти. ...

а имеет смысл серверную логику хранить на NVMe?

Dmitry Goncharenko
а имеет смысл серверную логику хранить на NVMe?

что такое серверная логика? если скриптовый код программы - да имеет. И бд на быстрых дисках надо тоже.

У нас реализовано так - пользователь или редактор загружает статику - она складируется на одном сервере (так сказать - в админке) Если файл только загружен - доступ к нему возможен только с этого сервера. И об этом знают фронтенды. И дальше возможны два варианта: 1. Статика доступна по другому доменному имени. В этом случае фронтенд всегда знает, что с этого доменного имени файл надо брать с админки. Плюс, сам файл оседает в кеше фронтенда, чтобы каждый раз не лазить в админку за ним, а отдавать от себя. Когда у бэкенда дойдут руки переложить файл в долговременное хранилище - бэкенд переписывает в генерящихся страницах ссылки на файл (меняет доменное имя) и статика отдается из долговременного хранилища (также оседая в кеше фронтенда, если вдруг она станет горячей) 2. Банальный try_files. Фронтенд всегда опрашивает долговременное хранилище на наличие файла. Хранилка использует try_files - если у нее нет файла - проксит запрос в админку на его получение, отдает фронту и кладет себе в кеш на случай, если за файлом придет второй фронт или кэш заэкспайрится. Это работает до тех пор, пока админка не соизволит доставить файл в хранилище - в этом случае try_files будет отдавать файл уже из хранилища

Dmitry-Goncharenko Автор вопроса
Yuri
У нас реализовано так - пользователь или редактор ...

прикольно, кстати да, надо просмотренные видео хранить на клиенте, чтобы он каждый раз их не запрашивал на сервере заново

Dmitry-Goncharenko Автор вопроса
Yuri
У нас реализовано так - пользователь или редактор ...

А как сделали перенос файлов? Очередь какая-то или крон бегает?

Dmitry Goncharenko
А как сделали перенос файлов? Очередь какая-то или...

rsync банальный 🙂 Либо он сам по крону, либо (если вариант 1) запускается бэкендом на каждый файл, чтобы при успешном синке поменять ссылку на файл в бд

The Ant 🐜
просто грузи на HDD, побольше оперативной памяти. ...

это про скачку файлов или видео по запросу? если это про второе, то интересно услышать какое было использовано хранилище.

User
это про скачку файлов или видео по запросу? если ...

обычные выделенные сервера. например ovh

The Ant 🐜
4tb

в рейде?

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

Обсуждают сегодня

1. https://www.kaggle.com/code/ahmadrezagholami2001/housing-estimation-linear-regression 2. https://www.kaggle.com/code/ahmadrezagholami2001/uncovering-quality-in-wines-logis...
Ahmadreza
1
Hi! Could you please upvote my new notebook? thanks a lot. https://www.kaggle.com/code/melissamonfared/anime-character-generation-dsgan-gan
məru
4
upvote plz https://www.kaggle.com/code/bassetkerouche/swapping-face?scriptVersionId=207300096
benkerrouche Statoinary
1
-- Привет всем. -- Есть csv, проблема в том что он содержит очень много повторов по столбцам и по строкам. -- Решил перекинуть это в базу данных, чтобы было проще. Но я не ша...
Oleg Ivanov
1
Как считаете - вопрос на собесе: «Как быстрее всего запустить ec2 машину в aws (в чистом аккаунте) и показать вывод от любой команды с нее» не очень ли сложный для условного м...
Sergey
50
Господа, у меня вопрос. Что вообще такое этот ваш data science и data scientists? А то гуглю, а мне какую-то расплывчатую фигню говорят.
Inkosta
44
Исходя из ваших комментариев, получается, что чтобы получить марты в CH из данных в PG, неправильно тянуть сырые данные в CH и там их обрабатывать, лепить справочники и джойни...
unhingedlunatic
42
Hi could you please help me with my two new projects? https://www.kaggle.com/code/hesankazemnia/rice-image-classification-cnn-pytorch https://www.kaggle.com/code/hesankazemnia...
Hesan
6
hi, Can you upvote? https://www.kaggle.com/code/durjoychandrapaul/rag-q-a-system-by-langchain-huggingface-for-pdf?scriptVersionId=204704280
A
1
Could you upvote and comment please? https://www.kaggle.com/code/tatianapetrushkevich/beginner-images https://www.kaggle.com/code/tatianapetrushkevich/python-for-beginners1 ...
Tazziyana
7
Карта сайта