CDNは???
CNNじゃないです。
CDNです。
CDNは【Content Delivery Network】や【Content Distribution Network】という意味で、
コンテンツを効率的に伝えるため、複数のノードのネットワークにデータを保存して提供するシステムです。
一つの例で、
アメリカに住んでいる「TOM」が、
中国にあるサーバーから、コンテンツを取得してくると距離が遠いので、速度が遅いし、
国際回線を使用するので、コストも高くなります。
でも、CDNを使用すると、アメリカのCDNサーバーにコピーをして、
アメリカに住んでいる「TOM」の要求をアメリカCDNに接続します。
その結果、コストやスピードを確保することができます。
もし、アメリカのCDNサーバーに問題があっても、
一番近い、他のCDNサーバーに再接続するので、安定性も保証します。
CDNキャッシュの種類
Static Caching
ユーザーの要求がなくても、Origin サーバーのコンテンツをオペレータが事前に、Cache サーバーにコピーします。
そのため、ユーザーがCache サーバーに接続して、コンテンツを要求すると、無条件にそのコンテンツはCache サーバーにあります。
ほとんどの国内CDNでこの方式を使用します。(例えば、動画ストリーミング/ダウンロード、ゲームのファイルダウンロードなど)
Dynamic Caching
最初のCache サーバーは、コンテンツがないです。
ユーザーがコンテンツを要求すると、そのコンテンツがあることを確認し、なければ(Cache Miss)Origin サーバーからダウンロードしてユーザーに伝えてます。
後に、同じコンテンツを要求があれば、保存されたコンテンツをユーザーに伝えます。
各コンテンツは、一定時間が経過すると、Cache サーバーから削除されることができ、あるいはOrigin サーバーを介してContent Freshness確認後、続けている可能性があります
Akamai、AmazonみたいなGlobal CDNプロバイダなどが、この方式を使用します。
CDNのメリット?
- 性能
- 可用性
- セキュリティ
- インテリジェンス