2009-08-20 2 views
5

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

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

Итак, мой вопрос: Должен ли я хранить изображения, которые пользователи загружают локально (на моем сервере Apache) или как объекты через облачные файлы? Похоже, отличная идея отделить статический контент от моего веб-сервера, поэтому я могу просто использовать его для создания динамического контента. Но было бы много накладных расходов на создание контейнера с поддержкой CDN каждый раз, когда пользователь загружает изображение?

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

+0

Вам не нужно создавать контейнер каждый раз; просто загрузите файлы в существующие. Накладные расходы для этого были бы незначительными и полностью стоили бы этого в долгосрочной перспективе. –

ответ

12

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

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

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

Смежные вопросы