2015-11-05

「"キャッシュ不可な" コンテンツをCDNでキャッシュする方法」の記事がおもしろかったので紹介

Leveraging your CDN to cache "uncacheable" content | Fastly 先月くらいに読んだ記事が面白かったので対話形式で紹介してみる (実はチャットの内容をブログに起こしただけ)


簡単にまとめると…?

従来「動的だからCDNに載せられない」って思われていたファイルも実は多くが event-driven にキャッシュ可能だよねという話。


ほうほう。event-drivenにキャッシュ可能とは?

↓が event-driven にキャッシュ可能なコンテンツの例で、

- Wikiページ
- スポーツスコア
- ニュース記事
- コメント
- 在庫情報
- 株価

ref. The rise of event-driven content (or how to cache more at the edge) | Fastly


例えばスポーツスコアの場合、

# 従来
* キャッシュされる → アクセスをCDN経由で配信 → 点数が入る → キャッシュexpireするまで待たなきゃいけない\(^o^)/

# Event-driven
* キャッシュされる → アクセスをCDN経由で配信 → 点数が入る → オリジンのコンテンツを更新 → キャッシュをパージするAPIを叩く → キャッシュが更新される

RFC含めていままではあんまりキャッシュをいつ無効にするかっていうのにあまり目が向けられてこなかったけど、俺らはそこまでコントロールするぜ (ドヤ っていう。


なるほど。akamaiではevent-drivenにできないか。使ったことないから全くわからんのだけどw

akamaiもいまは提供されてるかな。少なくともダッシュボードでは結構前からできてたはず。

ハッシュ値をファイル名の末尾につけるのはパージができないからこそのワークアラウンドだったんだろうね。

やってることは今となっては普通だろうけど、その問題を数年前には発見できていたのが強み。

今のフェーズではいかに簡単に早くパージできるかの競争に入ってるんだと思う。

APIでパージするリクエストを受けた後、どうやって世界各地のノードに全台行き渡らせるかっていうのはgossipプロトコルが使われてるんだってさ。


確かにパージが150msで出来ると注釈がついてる!

Akamai versus Fastly - CDN Planet


以上

Author: @ymkjp