Подтвердить что ты не робот

Использование EC2 для изменения размера изображений, хранящихся на S3 по требованию

Мы должны обслуживать один и тот же образ в нескольких возможных размерах в нашем приложении. Библиотека состоит из 10 тысяч изображений, которые будут храниться на S3, поэтому сохранение одного и того же изображения во всех возможных размерах не кажется идеальным. Я видел несколько упоминаний о Google, что EC2 можно использовать для изменения размеров изображений S3 на лету, но я изо всех сил стараюсь найти больше информации. Может ли кто-нибудь указать мне в сторону какой-то дополнительной информации или в идеале, некоторые образцы кода?

Совет

Сначала это было не очевидно, но никогда не подавать изображения на приложение или веб-сайт непосредственно с S3, настоятельно рекомендуется использовать CloudFront. Есть 3 причины:

  • Стоимость - CloudFront дешевле
  • Производительность - CloudFront быстрее
  • Надежность - S3 иногда не будет обслуживать ресурс при частом запросе, то есть более 10-20 раз в секунду. Это потребовало от нас времени для отладки, поскольку ресурсы будут беспорядочно недоступны.

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

4b9b3361

Ответ 1

Почему бы не сохранить все размеры изображения, если вы не говорите о сотнях разных возможных размеров? Стоимость хранения минимальная. Вы также сможете обслуживать свои изображения через Cloudfront (или непосредственно с S3), чтобы вам не приходилось использовать ваш сервер приложений для изменения размеров изображений "на лету". Если вы обслуживаете много этих изображений, объем затрат на обработку, который вы сохраняете (т.е. циклы процессора, требования к памяти и т.д.), Не имея необходимости динамически изменять размер изображений и обрабатывать запросы изображений на вашем веб-сервере, скорее всего, легко компенсирует стоимость хранения.