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
Cloudflare Worker x Momento でリージョンと戦う
Search
中川 聡也
December 17, 2023
Programming
0
1k
Cloudflare Worker x Momento でリージョンと戦う
Cloudflare Meet-up Tokyo Vol.3で発表した資料です
https://cfm-cts.connpass.com/event/303684/
中川 聡也
December 17, 2023
Tweet
Share
More Decks by 中川 聡也
See All by 中川 聡也
生成AIで外部委託への発注を全力で奪ってみた
xiombatsg
0
52
Cloudflare Pagesのサイトを NotebookLMから読みやすくする Cloudflare Meet-up Tokyo Vol.7
xiombatsg
0
200
Vue.js_好きに捧ぐ Nuxt Hub で簡単に始めるCloudflare
xiombatsg
1
280
Cloudflare Workers でWebGPUと戯れる
xiombatsg
0
270
受託開発でGitLab CI を活用していく
xiombatsg
1
620
Webサービス開発でのPostman活用方法
xiombatsg
0
280
OCHa Cafe Season7をふりかえって
xiombatsg
0
320
Other Decks in Programming
See All in Programming
アメ車でサンノゼを走ってきたよ!
s_shimotori
0
140
『毎日の移動』を支えるGoバックエンド内製開発
yutautsugi
2
180
CSC305 Lecture 01
javiergs
PRO
1
400
そのpreloadは必要?見過ごされたpreloadが技術的負債として爆発した日
mugitti9
2
3k
CSC305 Lecture 02
javiergs
PRO
1
260
開発者への寄付をアプリ内課金として実装する時の気の使いどころ
ski
0
350
デミカツ切り抜きで面倒くさいことはPythonにやらせよう
aokswork3
0
190
Web Components で実現する Hotwire とフロントエンドフレームワークの橋渡し / Bridging with Web Components
da1chi
3
1.8k
あなたの知らない「動画広告」の世界 - iOSDC Japan 2025
ukitaka
0
380
タスクの特性や不確実性に応じた最適な作業スタイルの選択(ペアプロ・モブプロ・ソロプロ)と実践 / Optimal Work Style Selection: Pair, Mob, or Solo Programming.
honyanya
3
140
ABEMAモバイルアプリが Kotlin Multiplatformと歩んだ5年 ─ 導入と運用、成功と課題 / iOSDC 2025
akkyie
0
320
After go func(): Goroutines Through a Beginner’s Eye
97vaibhav
0
230
Featured
See All Featured
A Modern Web Designer's Workflow
chriscoyier
697
190k
Chrome DevTools: State of the Union 2024 - Debugging React & Beyond
addyosmani
7
890
Six Lessons from altMBA
skipperchong
28
4k
Facilitating Awesome Meetings
lara
56
6.6k
Keith and Marios Guide to Fast Websites
keithpitt
411
22k
The Language of Interfaces
destraynor
162
25k
[RailsConf 2023] Rails as a piece of cake
palkan
57
5.9k
Design and Strategy: How to Deal with People Who Don’t "Get" Design
morganepeng
132
19k
Raft: Consensus for Rubyists
vanstee
139
7.1k
Exploring the Power of Turbo Streams & Action Cable | RailsConf2023
kevinliebholz
34
6.1k
個人開発の失敗を避けるイケてる考え方 / tips for indie hackers
panda_program
114
20k
GitHub's CSS Performance
jonrohan
1032
460k
Transcript
Cloudflare Meet-up Tokyo Vol.3 Cloudflare Worker x Momento でリージョンと戦う 2023/12/18
株式会社Future Techno Developers 中川 聡也
謝辞 本日のLTの機会をいただき、ありがとうございます。 まず初めに、主催者の皆様、そして参加者の皆様に 心から感謝申し上げます。 1
サーバーレス:Cloudflare/Momento ゲーム‧アプリ:IGDA Japan / Japan Android Group Cloud Native:OCha Cafe!
まずは⾃⼰紹介 @xiombatsg 2 中川 聡也|Satoya Nakagawa 何をしている⼈? 商品開発をしているお客様を技術⾯でご⽀援 チーム構築のご⽀援(Platform Engineer,SRE…) どんなジャンル? ゲーム/Webサービス/CG/組み込み/etc… どんなコミュニティに顔を出している? Zenn: https://zenn.dev/nakagawa_satoya
事業紹介 3 プロジェクト⽀援事業 Webサイト運営事業 ソフトウェア開発事業 Web診断事業 当社サービス 代理店‧顧客ご紹介企業様 お客様 保守担当メンバー‧パートナー
弊社は「ソフトウェア商品開発をサポートする」企業です
今⽇話すこと アジェンダ 4 実験コードを書いてアップする予定でしたが、間に合いませんでした。 あらかじめご了承ください。 01 リージョンはいやだ 02 Cloudflare Workerはリージョンがない
03 Momento Cacheは良いぞ 04 オリジン繋いでみる(ブログ⾒て!) 05 速度測ってみる(ブログ⾒て!)
突然ですが、 みなさんリージョン好きですか?
私は嫌いです
リージョンのイメージ(私の) 1. ユーザーはリージョンにアクセスする 2. リージョンごとにインスタンスをおかない といけない 3. ネットワーク経路的に近いところと遠いと ころがある 7
リージョン= 世界中のデータセンター
ap-northeast-1 以外遠くない? ※AWS 8 海外ユーザーとか普通に200ms 超えてくるし 50~100ms以下にしたいんだけど できない ユーザー多いところに置くのは いいけど、コスト⾟いよ
ap-northeast-1 以外遠くない? ※AWS 9 ⽇本からどうやって速 度の評価するのよ 複数のリージョン管理したくな い
本音 遠いリージョンをなんと かしたい
Cloudflare Workerに リージョンはない どこにいても—1つのネット ワーク Cloudflareグローバルネットワークはすべてのデータセ ンターですべてのサービスを実⾏しており、お客様の⽴ 地を問わず(シカゴでもケープタウンでも)均⼀な利⽤ 体験が得られます。つまり、お客様のトラフィックはす べてソースに最も近いデータセンターで処理され、バッ
クホーリングやパフォーマンストレードオフが発⽣しま せん。また、シングルパス検査を採⽤し、セキュリティ を合理化、内蔵しています。 ※公式 から抜粋 11
Cloudflareならリージョン意識しなくてもいいんじゃ 12 リージョンないならこ れに全部載せたい! しかも安い!
と思ったけど 現実は⽢くない
真実 14 オリジンや外部サービ スと結局繋ぐよなぁ 安定性はどうなんだっ け?
真実 15 Smart Routingに期待 でもどうなん? (未評価) エンタープライズ⾼い 安く⾏きたい
SmartRouting っぽいものを⾃作する!
memento があるじゃないか momentoは⼩板橋さんの資料が分かりやすい ※参考 https://speakerdeck.com/yoshiitaka/11shi-dian-momento-gai-yao-and-zui-xin-qing-bao
memento は実装が簡単
None
None
でも、リージョンはあるよ リージョンはあるけど、課⾦が通信量のみに課⾦されるので 問題ない。とりあえず全リージョン作ろう ※リージョン少ないけどエリカさんに⾔えば増やしてもらえる⼤丈夫
じゃぁ、Cache APIとかでいいんじゃない? リージョンはあるけど、課⾦が通信量のみに課⾦されるので 問題ない。とりあえず全リージョン作ろう ※リージョン少ないけどエリカさんに⾔えば増やしてもらえる⼤丈夫
繋いでみた 実験コードを書いてアップする予定でしたが、間に合いませんでした。 あらかじめご了承ください。
繋ぐイメージ Cloudflare とオリジンの間にmomentoをおく ※HyperDriveっぽくしたい
処理フロー(Getリクエスト)
処理フロー(POSTリクエスト
Worker でリージョンを判別する Worker に来るリクエストヘッダに⼊っているCountry Codeを⾒て、近いリージョンを選択する
Country Codeから リージョンへの対応表の作成 良い⽅法が思い浮かばないですが、こちらの情報をみて対応 表を作る※海底ケーブルは意識したほうがいいかも?
その他詳細はブログにて 実験コードを書いてアップする予定でしたが、間に合いませんでした。 あらかじめご了承ください。
速度を測る 実験コードを書いてアップする予定でしたが、間に合いませんでした。 あらかじめご了承ください。
Postman Monitorで計測しました(します) Postman Monitorはリージョンがあるので、海外アクセス からの速度評価ぐらいなら対応できそう
ちなみに Asian Pacific がシンガポールなので、⽇本国内向けには速 度評価としては使えなさそう
その他詳細はブログにて 実験コードを書いてアップする予定でしたが、間に合いませんでした。 あらかじめご了承ください。
今後 実験コードを書いてアップする予定でしたが、間に合いませんでした。 あらかじめご了承ください。
こういったことがやりたい 今後 35 01 Momento Cacheのリージョンをなんとかしたい 02 単純なAPI以外も対応したい 03 作ったものをサービスにアドオンしたい
ご清聴ありがとうございました
None