хранить изображения локально против облачных против S3 - PullRequest
0 голосов
/ 19 января 2020

Настройки:

Блог с постами, buily с Laravel, где:

  • В каждом посте может быть максимум 1 изображение (обнуляемое).
  • Максимальное количество постов в блоге - 1000. Предположим, что для обсуждения есть 1000 постов.
  • В каждом посте есть раздел комментариев. Где зарегистрированные пользователи могут комментировать и включать изображение в свой комментарий. Предположим, что в каждом посте есть 2 изображения в комментариях.

Таким образом, в общей сложности оно насчитывает 3000 изображений *, которые необходимо сохранить (и, я думаю, с измененным размером), представить и т. Д. c.

Это идеальное количество в долгосрочной перспективе, я не ищу «масштабируемого» решения, поскольку не будет безумного экспоненциального роста.

* На самом деле для в настоящее время он меньше, и я предполагаю, что для такого количества медиа-файлов действительно не имеет значения, будет ли он 1000/1500/2000 или 3000 ... Поправьте меня, если это не так.

Несколько дополнительных замечаний :

  • Я размещаю его на виртуальном хостинге (я могу хранить до 300 тыс. Файлов).
  • Я хочу, чтобы он был защищен, чтобы вредоносный файл не загружался на обложку файла изображения.
  • Я ищу бюджетное решение (поэтому, если s3 начнет интенсивно заряжаться через 12 месяцев, это не актуально), желательно бесплатно (.

Таким образом, дилемма между хранением всех изображений локально в папке хранилища (манипулирование изображения с некоторым пакетом Laravel). Другая возможность - облачная, о которой я немного знаю, просто она позволяет хранить / манипулировать / резервировать / использовать их API для представления изображений, которые я там хранил.

Если я решу сделать это локально - безопасно ли сохранять загруженное пользователем изображение локально? как мне убедиться, что это не вредоносная программа, замаскированная под файл изображения?

При таком количестве изображений / содержимого это может вызвать проблемы с производительностью на общем хостинге при локальном хранении?

Что бы преимущества использования cloudinary для меня?

Спасибо.

1 Ответ

0 голосов
/ 19 января 2020

Cloudinary действительно может очень помочь в этом случае. Вместо того чтобы хранить ресурсы локально и записывать что-то для управления ими, вы можете интегрировать Cloudinary в проект.

Это освободит место на сервере. Локальное хранение изображений может влиять или не влиять на производительность, в зависимости от архитектуры, но освобождение ресурсов сервера всегда является хорошей практикой.

Кроме того, манипулирование и доставка изображений могут осуществляться на лету когда первый запрос (или с нетерпением, прежде чем они запрашиваются, если вы хотите) с помощью простого вызова API. Так что вам не нужно придумывать что-то новое, но использовать уже существующий API.

Cloudinary также имеет полнофункциональный бесплатный уровень , который вы можете использовать. Если вы не ожидаете экспоненциального роста в данный момент, этого уровня будет более чем достаточно для проекта

Полное раскрытие информации: в настоящее время я работаю в Cloudinary, (но вышеизложенное сохраняется :)).

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...