Использование CDN для хранения / обслуживания пользовательских изображений?

Я все еще новичок во всей идеологии CDN, так что это может быть глупым вопросом, но я уверен, что кто-то может пролить свет на это. У меня есть базовый скрипт php, который принимает пользовательские загрузки изображений, изменяет их размер, создает каталог ($user_id) и сохраняет готовый продукт в каталоге (например, www.mysite.com/uploads/$user_id/image1.jpg). Работает как шарм.

Я просто собрал все вещи хостинга и использую архитектуру Rackspace (Slicehost?) "Cloud Server". Я также подписался на Rackspace (Mosso?) "Облачные файлы". Все идет нормально.

Итак, мой вопрос: должен ли я хранить изображения, которые пользователи загружают локально (на моем сервере apache) или как объекты через Cloud Files? Кажется хорошей идеей отделить статический контент от моего веб-сервера, чтобы я мог просто использовать его для генерации динамического контента. Но много ли будет создавать контейнер с поддержкой CDN каждый раз, когда пользователь загружает изображение?

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

1 ответ

Я не знаком с предложением Rackspace, но общая логика использования CDN для статического контента заключается в достижении двух целей:

  1. переложить пропускную способность и обработку на другие серверы, освобождая ваши.
  2. переместить запросы клиенту
  3. Переместите большой статический контент ближе к клиенту

Когда вы отправляете сгенерированный HTML-код в браузер, он будет "видеть" изображения, например, как www.yourdomain.com/my_image.jpg, и выполнять дополнительные запросы для каждого фрагмента статического содержимого, что может привести к тому, что ваш сервер не сможет обработать запросы на обслуживание., Если вы переместите весь этот контент в CDN, браузер увидит что-то вроде cdn.yourdomain.com, и браузер будет запрашивать изображения из CDN, что позволит вашему серверу обслуживать другие запросы. Кроме того, большинство CDN распределяют ваш контент по нескольким местоположениям и имеют географическую маршрутизацию для запросов на обслуживание контента из ближайшего возможного местоположения, что улучшает воспринимаемое время загрузки для клиентов.

Другие вопросы по тегам