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
予約システムと Zendesk のニアリアルタイム連携アーキテクチャ
Search
Kei Kamikawa
February 13, 2023
Programming
2
770
予約システムと Zendesk のニアリアルタイム連携アーキテクチャ
NOT A HOTEL #4 LT
Kei Kamikawa
February 13, 2023
Tweet
Share
More Decks by Kei Kamikawa
See All by Kei Kamikawa
Claude Code で Astro blog を Pages から Workers へ移行してみた
codehex
0
230
オレを救った Cline を紹介する
codehex
17
17k
どこでも使える Cloudflare Workers!
codehex
6
900
htmx is fun!
codehex
3
400
すぐ使える Cloudflare Workers!
codehex
15
3.6k
Go to Cloudflare Workers
codehex
8
2.3k
AI Gateway 使っているよ!
codehex
2
1.9k
日時処理の新スタンダード: Synchro によるタイムゾーン安全、楽々開発
codehex
1
2.5k
Cloudflare Workers は楽しい!
codehex
9
3.4k
Other Decks in Programming
See All in Programming
高単価案件で働くための心構え
nullnull
0
110
Kotlinで実装するCPU/GPU 「協調的」パフォーマンス管理
matuyuhi
0
370
乱雑なコードの整理から学ぶ設計の初歩
masuda220
PRO
27
8.1k
レイトレZ世代に捧ぐ、今からレイトレを始めるための小径
ichi_raven
0
200
Claude Code on the Web を超える!? Codex Cloud の実践テク5選
sunagaku
0
490
イベントストーミングのはじめかた / Getting Started with Event Storming
nrslib
1
300
CSC509 Lecture 11
javiergs
PRO
0
300
知られているようで知られていない JavaScriptの仕様 4選
syumai
0
520
予防に勝る防御なし(2025年版) - 堅牢なコードを導く様々な設計のヒント / Growing Reliable Code PHP Conference Fukuoka 2025
twada
PRO
36
11k
Swift Concurrency 年表クイズ
omochi
3
230
Nitro v3
kazupon
2
270
ビルドプロセスをデバッグしよう!
yt8492
0
290
Featured
See All Featured
Why You Should Never Use an ORM
jnunemaker
PRO
60
9.6k
A Tale of Four Properties
chriscoyier
161
23k
Easily Structure & Communicate Ideas using Wireframe
afnizarnur
194
17k
How to Ace a Technical Interview
jacobian
280
24k
A designer walks into a library…
pauljervisheath
210
24k
Put a Button on it: Removing Barriers to Going Fast.
kastner
60
4.1k
Performance Is Good for Brains [We Love Speed 2024]
tammyeverts
12
1.3k
The MySQL Ecosystem @ GitHub 2015
samlambert
251
13k
Writing Fast Ruby
sferik
630
62k
ReactJS: Keep Simple. Everything can be a component!
pedronauck
666
130k
Dealing with People You Can't Stand - Big Design 2015
cassininazir
367
27k
Understanding Cognitive Biases in Performance Measurement
bluesmoon
31
2.7k
Transcript
༧γεςϜͱ ;FOEFTLͷχΞϦΞϧλΠϜ ࿈ܞΞʔΩςΫνϟ /05")05&-5"-,
8)0".* +645461&326*$,
!DPEFIFY !$PEF)FY w /05")05&-ͷίϯγΣϧδϡۀ ʹؔ࿈ͨ͠։ൃΛ͍ͬͯ·͢ʂ w ࠷ۙ;FOEFTLઃఆͱʹΒΊͬ͜
ࣗͷνʔϜ͕ͬͯΔ͜ͱ
;FOEFTL
;FOEFTL w ;FOEFTLΧελϚʔαϙʔτͷ4BB4Ͱ͢ w ΧελϚʔαϙʔτνέοτΛཧͰ͖·͢ w &ϝʔϧɺνϟοτɺίʔϧͳͲͷνϟωϧΛհ͠ ͓ͯ٬༷ͱͷίϛϡχέʔγϣϯΛཧͰ͖·͢
νέοτৄࡉ
νέοτৄࡉ w ͓٬༷͔Βͷ͓͍߹Θͤ༰Λ֬ೝͰ͖·͢ w ͓٬༷ͷฦ৴͔͜͜ΒͰ͖·͢ʢը໘ӈʣ w ͓٬༷ͷใΛ֬ೝͰ͖·͢ ʢνέοτϑΟʔϧυɻը໘ࠨͷྻʣ
νέοτҰཡʢϏϡʔʣ
νέοτҰཡʢϏϡʔʣ w νέοτΛҰཡͰ͖·͢ɻ w νέοτϑΟʔϧυͷใΛجʹฒͼସ͑ɺϑΟϧ λϦϯά͕Ͱ͖·͢ɻ
͋Δڍ͕ͬͨ $4͔Βͷ͝ཁ
༧εςʔλεͰνέοτͷ ༏ઌ͚ͮΛ͍ͨ͠ʂ
w ༧γεςϜͰදݱ͞ΕΔεςʔλεΛجʹɺ͓ ͍߹Θͤͷ༏ઌΛܾఆ͍ͨ͠ w ࡏதͷ͓٬༷Λ༏ઌͯ͠ରԠΛ͍ͨ͠ w νέοτҰཡͰ͖Δ͚ͩϦΞϧλΠϜͰฒͼସ ͍͑ͨ νέοτͷ༏ઌ͚ͮ
͜͏͍͏ײ͡ͰͰ͖·ͤΜ͔ͶʔʜCZ$4
ͳΜͱ͔͠·͠ΐ͏ʂ
χΞϦΞϧλΠϜ ࿈ܞγεςϜͷ։ൃ
χΞϦΞϧλΠϜʜ
$MPVE4QBOOFS$IBOHF4USFBNT
w $MPVE4QBOOFSσʔλϕʔεͷૠೖɺมߋɺআ ͷใΛχΞϦΞϧλΠϜͰετϦʔϛϯάͰ͖Δ w มߋετϦʔϜ%BUB fl PX,BGLBΛհͯ͠ #JH2VFSZ$MPVE1VC4VCͳͲͷσʔλγϯ ΫసૹͰ͖Δ w
%BUB fl PXΛհͯ͠$MPVE1VC4VCసૹ͢Δ ͜ͱʹ͠·ͨ͠ $MPVE4QBOOFS$IBOHF4USFBNT
#PPLJOHTςʔϒϧͷ4UBUVTΧϥϜΛࢹ CREATE CHANGE STREAM BookingsTableStatusStream FOR Bookings(Status);
%BUB fl PXͷઃఆͦ͠͏ʜ
HJUIVCDPNNFSDBSJ%BUB fl PX5FNQMBUF
w %BUB fl PXʹඞཁͳ+BWBͷίʔυΛॻ͔ͣʹઃఆ ϑΝΠϧͷΈΛهड़͢Δ͜ͱͰɺύΠϓϥΠϯͷߏ ங͕Մೳ w ઃఆ+40/ϑΝΠϧʹͳ͍ͬͯΔ w *O0VUΛࢦఆ͢Δඞཁ͕͋Δɻ*O4QBOOFS
$IBOHF4USFBNTͰ0VUΛ1VC4VCʹͨ͠ w *O4PVSDFT 0VU4JOLT %BUB fl PX5FNQMBUF
%BUB fl PX5FNQMBUFͷઃఆ
1VC4VCͷϖΠϩʔυʢҰ෦ʣ { // ..., "mods": [ { "keysJson": "{\"ID\":\"dcc5423e-09ab-4ff1-8e0d-c0fb299215e0\"}", "oldValuesJson":
"{\"Status\":\"Tentative\"}", "newValuesJson": "{\"Status\":\"Booked\"}" } ], "modType": "UPDATE", "valueCaptureType": "OLD_AND_NEW_VALUES", // ... }
ϖΠϩʔυΛجʹ;FOEFTL ͷνέοτΛߋ৽͢Δ
1VC4VCˠ'VODUJPOT
w αʔόʔίϯςφʹΑΔཧͳ͠ͰΫϥυ্Ͱ ίʔυΛ࣮ߦͰ͖Δ w $MPVE1VC4VCͷΠϕϯτΛτϦΨʔͱ࣮ͯ͠ߦ ͕Մೳ w ϦΫΤετͷத$MPVE1VC4VCͷϖΠϩʔ υʹͳΔ $MPVE'VODUJPOT
w *%Λجʹ;FOEFTLνέοτΛݕࡧ w ݟ͔ͭͬͨνέοτʹ͋Δɺ༧εςʔλεͷν έοτϑΟʔϧυΛߋ৽͢Δ w ظ͢Δߋ৽ݩͷεςʔλε͕ҟͳΕແࢹ͢Δ w νέοτϑΟʔϧυʹ͕ଘࡏ͠ͳ͚Ε৽نͰ༧ εςʔλεΛՃ͢Δ
ϩδοΫ
࠷ऴతͳΞʔΩςΫνϟ
͝ཁղܾͰ͖ͨΜͰ͔͢ʁ
خ͍͕͍ͬ͠ͺ͍ʂ
ҰॹʹࣗಈԽ͍ͯ͘͠ ؒΛืू͍ͯ͠·͢ʂ