1

Rackspace Cloud Files に公開されているファイルを考えてみましょう。このファイルを正午に更新した場合、エッジ CDN への移行にはどのくらいの時間がかかりますか? CDN はコンテナの TTL に基づいてファイルを期限切れにするだけですか? それともファイルが変更された瞬間に Cloud Files が CDN に通知しますか?

開発中、ユーザーは一連の画像/ファイルを編集/更新でき、更新されたファイルは Cloud Files に (同じファイル名で) プッシュされます。その時点で、ファイルがエッジ CDN にプッシュされるようにしたいと思います。パージについて読みましたが、それは適切なユースケースではないと思います。TTL についても調べましたが、これらのイメージは頻繁に変更されないため、コンテナーを低い TTL に設定することは適切ではないと思います。しかし、それらが変更された場合、その変更がエッジ CDN に迅速にカスケードされることを期待しています。

オプション

  1. エッジ CDN に変更をすぐにプッシュするように Cloud Files を構成します。(これも可能ですか?)
  2. ファイルが変更されたら、古いファイルを削除し、更新されたファイルに新しい名前を使用します。(これが最良の選択肢のようですが、私は予測可能なファイル名も気に入っています。これには、疑似ランダムまたはタイムスタンプ付きのファイル名が必要です。)
4

1 に答える 1

2

CDN の仕組みは、ファイルに対する最初のリクエストが行われたときに、リソースがオリジン サーバーから取得されるというものです。リソースは、クライアントに配信される前に、応答中に CDN のエッジ サーバーにキャッシュされます。したがって、後続のリクエストでは、リソースは CDN 経由で配信されます。

これは、エッジ サーバーから配信されるイメージがあり、オリジン サーバーでそのイメージに変更を加えた場合、次のいずれかを実行するまで、古いイメージが CDN 経由で配信され続けることを意味します。

  • キャッシュを削除して、新しいバージョンのイメージをエッジ サーバーがオリジンから取得できるようにします。
  • max-expire 時間が経過するまで待機して、エッジ サーバーがオリジンに変更がないか確認します。
  • プッシュゾーンを使用している場合は、提案したようにファイル名のバージョン管理を使用してください。

一部の CDN プロバイダーは、プッシュ ゾーンまたはプル ゾーンを使用するオプションを提供しています (違いについては、こちらを参照してください)。したがって、使用する方法によって異なります。CDN のストレージ クラウドでホストされるすべてのファイルを手動でアップロードするプッシュ ゾーンを実装する場合は、ファイル名のバージョン管理が最適なオプションです。静的アセットを自動的に検出し、CDN URL を反映するように URL を書き換えるプル ゾーンを使用している場合は、編集後にアセットをパージするのがおそらく最適なオプションです。

于 2016-02-03T15:54:51.317 に答える