
興味深いのは、例えば次のようなことです。
Facebook は Akamai CDN のクライアントです。
これで、Facebook ページにログインすると、すべてのコンテンツ (ビデオ、画像、テキストなど) が表示され、ビデオをクリックして視聴できます。これで、Facebook は Akami がコンテンツを取得するためのクライアントになりました。
では、Facebook から Akamai にリクエストが行われた場合、Akamai はビデオ/画像を自社のデータセンターから Facebook のデータセンターにダンプし、そこでしばらく (経験則に応じて) 保存し、しばらくしてからフラッシュするのでしょうか?
それとも、Akamai のサーバーから直接そのビデオを見る(ストリーミングする)のですか?
更新1
データは CDN に永久に保存されます (同意) が、Facebook のデータセンターに送信されるコンテンツのコピーでもあります。
アップデート2
わかりました。Josh の回答によると、Akamai のアーキテクチャのこの画像は、「画像」は実際には Akamai のサーバーに保存されており、画像の参照 (URL) は私たちが見る Facebook HTML ページにあると言えますか?
答え1
Akamai の設定は高度に構成可能ですが、通常は、保存するコンテンツの種類と期間 (Akamai のネットワーク上およびユーザーのブラウザ上) を定義できます。 Akamai にはマルチティア システムもあり、ユーザーがローカル Akamai サーバーからリクエストを行った場合、コンテンツがなければ親ティアにリクエストします。その親にコンテンツがない場合、親ティアは祖父母ティアにリクエストします。その後、Akamai 祖父母ティアはオリジンにリクエストします。コンテンツを取得してユーザーに送信すると、キャッシュに保存されます (各ティアで)。後続のリクエストは Akamai ネットワークによって処理されます。そのコンテンツが再度リクエストされない場合は、最終的にキャッシュから削除されます。Akamai サーバーが混雑している場合、未使用のコンテンツは混雑していない場合よりも早く削除されます。
Akamai がユーザーコンテンツを自社のサーバーに保存できるとは思えません。同社のネットワークはそのために設計されていません。Facebook に画像をアップロードすると、Facebook のサーバーにアップロードされます (Facebook のホワイトペーパーを読んだことを覚えています)。カスタムファイルシステム画像リクエストを処理するため)。
通常の Web サイトでは、Akamai は設定に応じて、最大 95% のトラフィックをオリジンから取得できます。このような場合、それほど高い値にはならないと思いますが、パーセンテージであれば役立ちます。
最初は、Akamai はあまり役に立たないだろうと思いました。通常のユーザーのプロフィール要素は、違いを生むほどアクセスされないからです。しかし、よく考えてみると、あなたがその地域でかなり人気のあるユーザーであれば、写真をローカル Akamai サーバーにキャッシュしておくと、他の人が同じローカル Akamai サーバー経由であなたの FB プロフィールにアクセスしたときに役立つかもしれません。
Akamai を使う本当のメリットは、有名人のページや企業のページ、あるいは Facebook サイトの静的要素 (css/js) にあります。
以上のことを踏まえると、一般ユーザーのプロフィールについては、Facebook にアップロードすると、Facebook のサーバーに保存されるというのが私の推測です。プロフィールを要求すると、Akamai は Facebook のオリジン サーバーに戻り、プロフィールを取得してキャッシュに入れます。隣人がプロフィールを見に行くと、同じ ISP 上にいる (理想的には) ため、(理想的には) ISP 内にある Akamai キャッシュ サーバーからプロフィールを取得することになります。
そうは言っても、私は Facebook の Akamai 設定について何も知らないので、完全にカスタムで標準外のものがあるのかもしれません。
答え2
一般的には、すべてのコンテンツがプライマリ サーバー (この例では Facebook) に保存され、CDN ネットワークが要求されたデータのコピーをキャッシュするという仕組みです。つまり、ユーザーは Akamai にデータを要求し、Akamai は Facebook にデータを要求します (Facebook にデータがキャッシュされていない場合は Facebook に要求し、そうでない場合はキャッシュからデータを提供します)。次にそのデータを要求するユーザーは Akamai のキャッシュからデータを取得し、Facebook のサーバーの負荷を軽減します。ブラウザー キャッシュとよく似ています。
見るAkamaiに関するWikipediaの記事、 具体的には:
Akamai は、HTML、CSS、ソフトウェア ダウンロードを含むすべてのサイト コンテンツ、またはオーディオ、グラフィック、アニメーション、ビデオなどのメディア オブジェクトのみを、お客様のサーバーから透過的にミラーリングします。ドメイン名 (サブドメインではない) は同じですが、IP アドレスはお客様のサーバーではなく Akamai サーバーを指します。
私は、すべてのメディアと多数のコンテンツ配信サーバーを含む中央サーバーがある「アクティブ」CDN ネットワークを構築している大企業で働いたことがあります。メディアはマスター サーバーにアップロードされ、マスター サーバーはすべてのスレーブ サーバーに接続して新しいコンテンツをプッシュします。しかし、この種の CDN は、既知の高帯域幅リンクを介してコンテンツを提供するように設計されています。たとえば、中央オフィスと多数のブランチ ロケーションがある場合です。各ブランチには高速イーサネット ネットワークがあるため、ブランチの CDN サーバーは (低速の) インターネットを介して中央サーバーと同期します。しかし、これは Akamai とは異なる概念です。
答え3
リソースは CDN のストレージ内に永続的に (クライアントが削除するまで) 存在し、ブラウザから要求されるとそこから取得されます。