Как масштабировать хостинг / обслуживание изображений? - PullRequest
4 голосов
/ 26 декабря 2010

Я создаю веб-сайт, где пользователи могут загружать фотографии, и я бы также конвертировал загруженные фотографии в миниатюры.

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

Спасибо.

Ответы [ 3 ]

1 голос
/ 18 апреля 2011

Интересный вопрос.

Я думаю, что наиболее надежным и легко масштабируемым решением было бы использовать что-то вроде MogileFS , которая является распределенной файловой системой на основе HTTP.

Другой подход, который может быть проще построить, - это просто убедиться, что вы знаете, как вы масштабируете свой хостинг изображений, если вам это нужно. Возможные подходы могут быть: - Используйте Amazon S3 - Внедрите разделение / разбиение изображений вручную в своем приложении, сохраните изображения на разных внутренних серверах (с более медленным / большим хранилищем) и затем установите обратный прокси-сервер перед ним.

На мой взгляд, MogileFS будет отличным решением этой проблемы. Масштабирование должно быть тривиальным, но первоначальная реализация может занять немного больше времени.

0 голосов
/ 22 мая 2011

Купи, не строи. Akamai и Amazon CloudFront и их коллеги комментируют это. Не изобретайте велосипед, это действительно специальная функция, которая легко и надежно передается на аутсорсинг намного дешевле, чем она производится внутри компании.

0 голосов
/ 02 февраля 2011

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

Я использовал php для преобразования изображений в формат BLOB-объектов и сохранения этих объектов в базе данных MySQL. Когда файлы находятся в базе данных, вы можете использовать php-скрипты для преобразования большого двоичного объекта обратно в тип mime, например jpeg или gif, и затем отобразить его на веб-странице.

Таким образом, ваши файлы затем централизованно хранятся в базе данных, вы можете разместить сценарии, которые преобразуют большие двоичные объекты в изображения на любом количестве серверов.

Я никогда не находил никаких программ с открытым исходным кодом, чтобы использовать этот метод хранения, но это довольно просто для создания сценариев.

...