Как хранить большое количества изображений на сервере?

Сейчас я занимаюсь проектом, в нем каждый день пользователь будет загружать по 10 изображений, пользователей около 50-70, залитое изображание должно хранится как миннимум 1 месяц, как лучше всего это организировать на сервере? Хранить у себя на хостинге или зиливать на другой и хранить только ссылку? или есть другие варианты?
  • Вопрос задан
  • 3018 просмотров
Решения вопроса 1
edli007
@edli007
full stack, team lead
Если речь идет о Node.js, могу поделиться своей реализацией.

Но в целом файлы хранят по хешам, тоесть если у вас например есть файл с хешем
ddcab4080b10682d9384b04f41ddbf3e907165a5

то сохраняете его к примеру по пути
upload/ddc/ab4/080/b10682d9384b04f41ddbf3e907165a5/file.jpg

а в бд записываете что это за файл и для чего он.
Ресайзы или какие другие варианты файла можно хранить так
upload/ddc/ab4/080/b10682d9384b04f41ddbf3e907165a5/250x140.jpg

Такой способ позволяет избегать дубликатов и в одной папке храниться ограниченное количество файлов (при большом количестве файлов в одной папке, скорость работы файловой системы замедлиться)

Это в основе, далее идет уже мультисерверность и различные серверы кеша для файлов.
Ответ написан
Пригласить эксперта
Ответы на вопрос 1
@Kirill-Gorelov
С ума с IT
От себя добавлю такой момент.
Просто сейчас как раз с этим связался.
Сайт на битриксе, владелец загружал фотографии в одну папку, она у него разрослась до 500 тысяч штук. И из-за этого весь сайт тормозит не смотря на то, что у него свой выделенный и очень мощный сервер. Тупит и все. Надо решить это проблему, что бы сайт работал быстрее.
Решение следующее.
Папку, в которой хранятся все картинки, надо разбить на под папки. и распихать туда картинки.
Готово, сайт ожил и стал работать быстрее. Дело в том, что файловая нагрузка сервера сильно нагружена, потому что приходится делать выборку из всей этой кучи картинок только нужные.
Ответ написан
Ваш ответ на вопрос

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

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