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

Сейчас я занимаюсь проектом, в нем каждый день пользователь будет загружать по 10 изображений, пользователей около 50-70, залитое изображание должно хранится как миннимум 1 месяц, как лучше всего это организировать на сервере? Хранить у себя на хостинге или зиливать на другой и хранить только ссылку? или есть другие варианты?
  • Вопрос задан
  • 3016 просмотров
Решения вопроса 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 тысяч штук. И из-за этого весь сайт тормозит не смотря на то, что у него свой выделенный и очень мощный сервер. Тупит и все. Надо решить это проблему, что бы сайт работал быстрее.
Решение следующее.
Папку, в которой хранятся все картинки, надо разбить на под папки. и распихать туда картинки.
Готово, сайт ожил и стал работать быстрее. Дело в том, что файловая нагрузка сервера сильно нагружена, потому что приходится делать выборку из всей этой кучи картинок только нужные.
Ответ написан
Ваш ответ на вопрос

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

Войти через центр авторизации
Похожие вопросы