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
890
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 中川 聡也
Cloudflare Pagesのサイトを NotebookLMから読みやすくする Cloudflare Meet-up Tokyo Vol.7
xiombatsg
0
170
Vue.js_好きに捧ぐ Nuxt Hub で簡単に始めるCloudflare
xiombatsg
1
250
Cloudflare Workers でWebGPUと戯れる
xiombatsg
0
240
受託開発でGitLab CI を活用していく
xiombatsg
1
580
Webサービス開発でのPostman活用方法
xiombatsg
0
260
OCHa Cafe Season7をふりかえって
xiombatsg
0
310
Other Decks in Programming
See All in Programming
赤裸々に公開。 TSKaigiのオフシーズン
takezoux2
0
130
コード書くの好きな人向けAIコーディング活用tips #orestudy
77web
3
320
ktr0731/go-mcpでMCPサーバー作ってみた
takak2166
0
170
A comprehensive view of refactoring
marabesi
0
790
Enterprise Web App. Development (2): Version Control Tool Training Ver. 5.1
knakagawa
1
110
KotlinConf 2025 現地で感じたServer-Side Kotlin
n_takehata
1
220
人には人それぞれのサービス層がある
shimabox
3
680
GoのWebAssembly活用パターン紹介
syumai
3
10k
Webからモバイルへ Vue.js × Capacitor 活用事例
naokihaba
0
710
Using AI Tools Around Software Development
inouehi
0
1.2k
Bytecode Manipulation 으로 생산성 높이기
bigstark
2
360
Cursor AI Agentと伴走する アプリケーションの高速リプレイス
daisuketakeda
1
120
Featured
See All Featured
Building an army of robots
kneath
306
45k
Performance Is Good for Brains [We Love Speed 2024]
tammyeverts
10
910
Raft: Consensus for Rubyists
vanstee
140
7k
[RailsConf 2023] Rails as a piece of cake
palkan
55
5.6k
The Art of Delivering Value - GDevCon NA Keynote
reverentgeek
15
1.5k
Improving Core Web Vitals using Speculation Rules API
sergeychernyshev
16
930
Balancing Empowerment & Direction
lara
1
330
Designing for Performance
lara
609
69k
Navigating Team Friction
lara
187
15k
XXLCSS - How to scale CSS and keep your sanity
sugarenia
248
1.3M
Adopting Sorbet at Scale
ufuk
77
9.4k
ピンチをチャンスに:未来をつくるプロダクトロードマップ #pmconf2020
aki_iinuma
123
52k
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