автоматический переход к стратегии развертывания CDN - PullRequest
3 голосов
/ 07 мая 2010

Есть ли у кого-нибудь идеи для стратегии передачи содержимого в CDN при развертывании?

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

Печеночная версия сайта должна загружать ресурсы из домена, который будет указывать на CDN: assets.domain.com.

Однако у нас будет множество ссылок на ресурсы, указывающие на относительную папку, например / images / в css, возможно в js, а также в HTML & source.

Наш новый сайт будет использовать capistrano для развертывания, и может случиться так, что мы сможем подключить другой инструмент для сборки (apache ant?) Или какой-нибудь специальный скрипт для поиска / замены путей.

Мне интересно, сталкивался ли кто-нибудь с этой проблемой ранее и какие решения вы предлагаете для автоматизации управления CDN с точки зрения передачи контента в CDN и управления ссылками html & css на ресурсы в CDN.

Спасибо

Imanc

1 Ответ

3 голосов
/ 09 мая 2010

Вообще говоря, в CDN используется кэширование по запросу, а не репликация по запросу.

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

Хотя некоторые (например, Akamai) действительно предоставляют возможность аннулировать контент в сети, обычно это считается «переключателем паники», а не тем, что вы можете интегрировать в процесс развертывания.

Некоторые могут также предлагать «промежуточные серверы», на которые вы можете поместить свой контент, но на самом деле он не входит в CDN; скорее, CDN будет просто извлекать контент со своих серверов, когда происходит трафик. Это может быть достаточно для того, что вы хотите (обычно они предлагают FTP, SSH и другие интерфейсы).

В противном случае лучше всего подождать, пока не истечет время ожидания установленных вами TTL (например, Cache-Control: max-age), а содержимое обновиться, если оно обратно совместимо, или изменить URL, когда это не так.

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