Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
SSRした動的コンテンツをFastlyにキャッシュする
Search
Daishi Kakinoki
April 16, 2019
Technology
0
970
SSRした動的コンテンツをFastlyにキャッシュする
Daishi Kakinoki
April 16, 2019
Tweet
Share
More Decks by Daishi Kakinoki
See All by Daishi Kakinoki
Spacemarket Connect Custom Account
dkakinoki
0
210
Railsでサーバレスなバッチ処理 / Rails Batch Serverless
dkakinoki
1
1.6k
CtoCマーケットプレイスを成長させる オンライン決済の仕組み
dkakinoki
1
700
[Stripe] ConnectのManual Payoutsを利用して 任意のタイミングで売上を入金する
dkakinoki
0
3.2k
Other Decks in Technology
See All in Technology
生成AIの変革の時代に、直近1年で直面した課題とその解決策
ktc_wada
0
700
Building Dashboards as a Hobby
egmc
0
380
データベース03: 関係データモデル
trycycle
0
100
ゼロから始めるVue.jsコミュニティ貢献 / first-vuejs-community-contribution-link-and-motivation
lmi
1
150
一生覚えておきたい「システム開発=コミュニケーション」〜初めての実務案件振り返りLT〜
maimyyym
2
330
Improve Your Development Workflow with Gemini Code Assist
meteatamel
0
130
ExaDB-D dbaascli で出来ること
oracle4engineer
PRO
0
2.1k
いいたいことちゃんという
tkengo
0
240
Microsoft Intune 勉強会 第 2 回目
tamaiyutaro
2
460
止まらないLinuxシステムを構築する_高信頼性クラスタ入門
koedoyoshida
2
470
M&A戦略を支えるデータマネジメント (MIDAS Tech Study #16 GENDA Komiyama)
kommy339
1
120
IaCからAWSに入門した初心者が CloudFormationを通して考えた「AWS操作」の使い分け
maimyyym
1
150
Featured
See All Featured
Fight the Zombie Pattern Library - RWD Summit 2016
marcelosomers
228
16k
RailsConf 2023
tenderlove
8
560
Designing for humans not robots
tammielis
247
25k
Code Review Best Practice
trishagee
56
15k
Music & Morning Musume
bryan
41
5.6k
Embracing the Ebb and Flow
colly
80
4.2k
Large-scale JavaScript Application Architecture
addyosmani
504
110k
Making the Leap to Tech Lead
cromwellryan
125
8.5k
Statistics for Hackers
jakevdp
790
220k
Learning to Love Humans: Emotional Interface Design
aarron
267
39k
Infographics Made Easy
chrislema
238
18k
Keith and Marios Guide to Fast Websites
keithpitt
408
22k
Transcript
SSRした動的コンテンツをFastlyにキャッシュする SPACEMARKETトップページの事例 2019年4月16日 KAKINOKI DAISHI
2 誰? • KAKINOKI DAISHI(@d_kakinoki) • SPACEMARKET所属 • Engineering Manager
• サーバサイドがメイン • 今後Fastlyでやりたいこと ◦ A/B Testing
3 SPACEMARKET? スペースを 借りたい人 (ゲスト) スペースを 貸したい人 (ホスト) 探す・借りる 掲載する・貸す
写真
写真
写真
7 SSRした動的コンテンツをキャッシュする
8 Fastlyでトップページをキャッシュするまでの背景(2018年夏) • 既にアセットはFastly経由で配信 • 2018年11~12月にかけて全国CM放映を予定 →負荷対策、速度の改善が必要 →裏も対策するが、表も対策しておきたい →アクセスが集中するトップページをキャッシュ •
必要に応じてすぐにパージ • とりあえずシンプルに
9 トップページの何をキャッシュするか バナー ヘッダ(未ログイン状態) アイキャッチ カテゴリのランキング など フッタ 未ログインコンテンツをキャッ シュ
バナー ヘッダ(ログイン状態) アイキャッチ カテゴリのランキングな ど フッタ 閲覧履歴 お気に入り クライアントで ログインコンテンツを取得し レンダリング
10 以前(イメージ)
11 Fastlyでキャッシュ(イメージ) 有効なキャッシュがな ければオリジンへ
12 • Cache-ControlとSurrogate-Controlを組み合わせる ◦ (例) • キャッシュとログインコンテンツの要否 ◦ アクセストークン(Cookie)の有無で制御 •
キャッシュしないその他のページは、全てCache-Control: private キャッシュ周りの実装など
13 • www.spacemarket.comのDNSレコード ◦ A → CNAMEに変更、Fastlyを指定 ◦ 全てFastly経由に •
SSL証明書 ◦ EV証明書 ◦ ホスティングサービスを利用 ドメイン周り
14 • Fastly-Debugヘッダ • stagingで事前に確認 ◦ ACL使ってる • 福田さん(中の方)の記事が分かりやすい ◦
FastlyにキャッシュされたオブジェクトのTTL確認方法 • Fastlyのサポート側(福田さん)でも動作確認してくれた 動作確認
15 • 全国CM放映問題なし • その後のTV放映などもキャッシュを利用し負荷対策 • 速度も改善 効果
16 • ドキュメントしっかりしてる • 福田さんのQiita記事が更に分かりやすい • 導入サポートも充実 • 特に福田さん、ありがとうございました。 (お礼を言いにきた)
サポート体制
17 まとめ
18 まとめ • 福田さんありがとうございました。 (お礼を言いにきた)
ご静聴ありがとうございました。