CDN
自分の画面は新しくなりました。続けてお知らせの画像を差し替えましたが、ほかの人から「まだ古い画像が見える」と言われました
CDN(シーディーエヌ)は、あちこちの場所に置いたサーバーに画像などの写しを持たせて、見る人の近くから配るしくみです。
前のページのキャッシュを、たくさんの人のために、いろいろな場所で持っているものです。
- CDNは、あちこちの場所に置いたサーバーに、画像などの写し(キャッシュ)を持たせて、見る人の近くから配るしくみ
- 元のデータを置いているサーバーを「オリジン」と呼ぶ
- よいところ:速い、アクセスが増えてもオリジンが忙しくなりにくい
- 注意:CDNの写しも期限まで使われるので、差し替えたらCDNのキャッシュを消す(無効化する)か、ファイル名を変える
身近な例えで理解する
お客さんに頼まれたパンフレットが支店に置いていなければ、支店の人が本社から取り寄せて渡し、次の人のために支店にも置いておきます。2人目からは支店ですぐもらえるので、本社まで来なくてすみます。
- 本社オリジン(元のデータを置いているサーバー)
- 全国の支店CDNのサーバー
- 支店になければ本社から取り寄せて、支店にも置く写しがなければオリジンから取ってきて、CDNにも置く
- 2人目からは支店ですぐもらえる見る人の近くのサーバーから受け取る(速い)
- 改訂後も、支店に古いパンフレットが残るCDNに古い写しが残る
内容を改訂したら、各支店の古いパンフレットを回収して入れかえます。CDNでも、古い写しを消す作業が必要です。
ちょっと確認
何をすればよい?
例えを外して、実際のしくみ
しくみ
よいところ
見る人の近くから返すので速くなります。たくさんのリクエストをCDNが受けるので、アクセスが急に増えても、オリジンが忙しくなりにくくなります。画像・動画・CSSなど、誰が見ても同じファイルの配信によく使われます
差し替えのときの注意
気をつけること
人によって中身が違うページ(ログイン中のマイページなど)を、みんなで使う写しとして置かないように設定します。ほかの人に見えてしまうおそれがあるからです
このページのまとめ
- CDN
- あちこちのサーバーに写しを持たせ、見る人の近くから配るしくみ
- オリジン
- 元のデータを置いているサーバー
- キャッシュの無効化
- CDNに残っている古い写しを消して、取り直させること
- 版番号付きのファイル名
- 名前を変えて、新しいファイルとして配る方法
先輩のひとことの意味
先輩「画像は、Webサーバーの前に置いたCDNを通して配ってるから、差し替えたらCDNのキャッシュも消さないとね」
52では、画像はWebサーバーがすぐ返すと説明しました。このサイトでは、その画像をさらにCDNが写しとして持ち、見る人の近くから配っています。画像はオリジンから直接ではなく、各地のCDNのサーバーにある写しから配られています。オリジンの画像を差し替えても、CDNの写しは期限まで古いままです。「自分のブラウザだけでなく、CDNに残っている古い写しも消して、新しい画像が配られるようにして」という意味です。ただし、見る人のブラウザにも写しが残っていることがあるので、すぐ全員に届けたいときは、ファイル名を変えて新しいファイルとして配る方法が確実です。
練習問題で確かめる
CDNを使うよさとして、正しいものは?
参考資料
ご意見・「これで例えて!」を募集しています
ご意見・ご感想・質問・間違いのご指摘など、何でもお気軽にお寄せください。「この言葉も例えで説明してほしい」「こんな例えなら分かりやすい」という声をもとに、新しいページや例えを作ります。
- 説明してほしいITの言葉
- 例えてほしい場面(部活・アルバイト・家事など)
- 分かりにくかったところ・間違いのご指摘
意見箱は準備中です。