3

展開時にコンテンツをCDNにプッシュする戦略について誰かがアイデアを持っていますか?

私が直面している重要な問題は、ローカル開発、開発サーバー、ステージング、そして最終的にライブなど、さまざまなコンテキストで利用できるサイトがあることです。

サイトのレバーバージョンは、ドメインからアセットをロードする必要があります。ドメインは、CDN:assets.domain.comを指します。

ただし、相対フォルダを指すアセットへの参照は多数あります。たとえば、css、場合によってはjs、HTMLおよびソースの/images/です。

新しいサイトでは、デプロイにcapistranoを使用します。別のビルドツール(apache ant?)またはカスタムスクリプトをフックして、パスを検索/置換できる可能性があります。

CDNにコンテンツをプッシュし、CDN内のアセットへのhtmlおよびcss参照を管理するという観点から、CDNの管理を自動化するために、以前にこの問題に対処する必要があったのではないかと思います。

ありがとう

イマンク

4

1 に答える 1

3

一般的に、CDNはプッシュベースのレプリケーションではなく、プルベースのキャッシュを使用します。

これは、(すべての顧客を考慮して)大量のコンテンツを多数の分散ノードにプッシュすることは分散システムの問題であり、その分散を最適化するために将来のトラフィックパターンを予測することはさらに難しいためです。

一部(Akamaiなど)はネットワーク内のコンテンツを無効にする機能を提供しますが、通常、展開プロセスに統合できるものではなく、「パニックスイッチ」と見なされます。

コンテンツをプッシュできる「ステージングサーバー」を提供するものもありますが、実際にはCDNには入りません。むしろ、CDNは、トラフィックが発生したときに、自身のサーバーからコンテンツをプルするだけです。これはあなたが望むものには十分かもしれません(通常それらはFTP、SSHおよび他のインターフェースを提供します)。

それ以外の場合は、設定したTTL(Cache-Control:max-ageなど)がタイムアウトしてコンテンツが更新されるのを待つか、コンテンツに下位互換性がある場合はURLを変更するのが最善の策です。そうではありません。

于 2010-05-09T02:00:31.287 に答える