Хранение изображений и CDN для веб-сайтов - PullRequest
2 голосов
/ 13 октября 2010

В настоящее время я хочу переместить изображения с моих веб-сайтов в службу хранения. У меня есть два сайта, разработанные на PHP и ASP.NET.

Используя сервис Amazon S3, мы можем размещать все наши изображения и видео для обслуживания веб-страниц. Но есть некоторые ограничения в использовании сервиса S3, когда мы хотим обслуживать изображения.

  1. Если веб-сайту требуются миниатюрные изображения, отличающиеся от исходного изображения, это сложно. Нам снова нужно подписаться на EC2 также. Хотя передача данных из S3 в EC2 является бесплатной, для передачи данных требуется некоторое время, прежде чем обрабатывается операция изменения размера изображения.
  2. Загрузка количества файлов в формате zip и разархивирование в S3 не позволяет уменьшить количество загрузок.
  3. Загрузка нескольких файлов из S3 невозможна, если мы хотим перейти к другому провайдеру.
  4. Имена изображений чувствительны к регистру в S3. Который не будет загружать изображения, если имя изображения не совпадает с запросом.

Среди всех этих первых очень важная вещь, поскольку изменение размера изображения является общим требованием.

Какой поставщик лучше всего подходит для достижения моей цели. Могу ли я перейти на Google AppEngine только с целью размещения изображений или есть какой-либо другой поставщик, который может предоставить вышеуказанные услуги?

Ответы [ 4 ]

2 голосов
/ 21 января 2013

Я наткнулся на симпатичную компанию под названием Cloudinary , которая предоставляет услугу хранения образов CDN - они также предоставляют различные способы, позволяющие манипулировать изображениями на лету (обрезка в основном касается вас, как вас »говорим о миниатюрах разного размера).

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

0 голосов
/ 21 октября 2010

S3 действительно медленный и тоже не распространяется. Cloudfront по сравнению также является одним из самых медленных и дорогих CDN, которые вы можете получить. Единственное преимущество заключается в том, что если вы уже используете другой AWS, вы получите один счет.

Я написал в блоге о различных CDN и провел несколько тестов: http://till.klampaeckel.de/blog/archives/100-Shopping-for-a-CDN.html

Что касается настройки, я бы предложил что-то, что использует origin-pull. Таким образом, вы сами размещаете образы, и CDN запрашивает их копию при первом запросе.

Это также означает, что вы можете использовать скрипт для «динамического» генерирования изображений, потому что они будут извлечены только один раз или около того Просто нужно установить соответствующие заголовки кеша. Затем изображения будут кэшироваться до тех пор, пока вы не очистите кэш CDN.

НТН

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

Я только что натолкнулся на CloudFlare - насколько я понимаю из их сайта, вам не нужно вносить какие-либо изменения в ваш сайт.Видимо, все, что вам нужно сделать, это изменить настройки DNS.Даже предоставляет бесплатный вариант.

0 голосов
/ 13 октября 2010

Если вы используете EC2, то S3 - ваш лучший вариант. «Лучшая практика» - просто предварительно отрендерить изображение во всех размерах и загрузить его под разными именами. I.e.:

/images/image_a123.large.jpg
/images/image_a123.med.jpg
/images/image_a123.thumb.jpg

Эта практика используется Digg, Twitter (когда-то давно, может быть, не с twimg ...) и множеством других компаний.

Возможно, это не идеальный вариант, но это самый быстрый и простой способ сделать это. Что касается перехода на другого провайдера, вы, скорее всего, этого не сделаете из-за объема работы по передаче всех файлов в любом случае. Если у вас есть 1 000 000 изображений или 3 000 000 изображений, у вас все еще есть много мегабайт файлов.

К счастью, у S3 есть служба импорта / экспорта. Вы можете отправить им пустой жесткий диск, и они отформатируют его и загрузят на него ваши данные за небольшую плату.

С точки зрения вашей озабоченности по поводу чувствительности к регистру, вы не найдете поставщика, у которого нет чувствительности к регистру. Если ваш код написан правильно, вы нормализуете все имена в верхний или нижний регистр или будете использовать какую-то систему с 64-цифровым идентификатором, которая позаботится о вас.

В целом, S3 предоставит вам наилучшую «отдачу от затраченных средств», и у него есть поддержка CloudFront, если вы хотите ускорить его. Не с использованием S3 по причинам 3 и 4 - нонсенс, так как они, вероятно, будут применяться везде, куда бы вы ни пошли.

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