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
710
予約システムと Zendesk のニアリアルタイム連携アーキテクチャ
NOT A HOTEL #4 LT
Kei Kamikawa
February 13, 2023
Tweet
Share
More Decks by Kei Kamikawa
See All by Kei Kamikawa
どこでも使える Cloudflare Workers!
codehex
6
700
htmx is fun!
codehex
2
330
すぐ使える Cloudflare Workers!
codehex
15
3.3k
Go to Cloudflare Workers
codehex
8
2k
AI Gateway 使っているよ!
codehex
2
1.5k
日時処理の新スタンダード: Synchro によるタイムゾーン安全、楽々開発
codehex
1
2.1k
Cloudflare Workers は楽しい!
codehex
9
3.3k
gRPC Client on Cloudflare Workers
codehex
2
5.8k
NOT A HOTEL AI コンシェルジュ「Kevin」とキャッシュ
codehex
1
1.7k
Other Decks in Programming
See All in Programming
asdf-ecspresso作って 友達が増えた話 / Fujiwara Tech Conference 2025
koluku
0
1.4k
盆栽転じて家具となる / Bonsai and Furnitures
aereal
0
1.9k
Jaspr Dart Web Framework 박제창 @Devfest 2024
itsmedreamwalker
0
150
QA環境で誰でも自由自在に現在時刻を操って検証できるようにした話
kalibora
1
140
functionalなアプローチで動的要素を排除する
ryopeko
1
210
AWS re:Invent 2024個人的まとめ
satoshi256kbyte
0
100
AHC041解説
terryu16
0
390
DevinとCursorから学ぶAIエージェントメモリーの設計とMoatの考え方
itarutomy
0
150
いりゃあせ、PHPカンファレンス名古屋2025 / Welcome to PHP Conference Nagoya 2025
ttskch
1
180
shadcn/uiを使ってReactでの開発を加速させよう!
lef237
0
300
PHPで作るWebSocketサーバー ~リアクティブなアプリケーションを知るために~ / WebSocket Server in PHP - To know reactive applications
seike460
PRO
2
770
オニオンアーキテクチャを使って、 Unityと.NETでコードを共有する
soi013
0
370
Featured
See All Featured
The Cost Of JavaScript in 2023
addyosmani
46
7.2k
"I'm Feeling Lucky" - Building Great Search Experiences for Today's Users (#IAC19)
danielanewman
226
22k
How to Think Like a Performance Engineer
csswizardry
22
1.3k
It's Worth the Effort
3n
183
28k
ReactJS: Keep Simple. Everything can be a component!
pedronauck
666
120k
Navigating Team Friction
lara
183
15k
Fantastic passwords and where to find them - at NoRuKo
philnash
50
2.9k
Distributed Sagas: A Protocol for Coordinating Microservices
caitiem20
330
21k
The Illustrated Children's Guide to Kubernetes
chrisshort
48
49k
Git: the NoSQL Database
bkeepers
PRO
427
64k
A Modern Web Designer's Workflow
chriscoyier
693
190k
VelocityConf: Rendering Performance Case Studies
addyosmani
327
24k
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 νέοτϑΟʔϧυʹ͕ଘࡏ͠ͳ͚Ε৽نͰ༧ εςʔλεΛՃ͢Δ
ϩδοΫ
࠷ऴతͳΞʔΩςΫνϟ
͝ཁղܾͰ͖ͨΜͰ͔͢ʁ
خ͍͕͍ͬ͠ͺ͍ʂ
ҰॹʹࣗಈԽ͍ͯ͘͠ ؒΛืू͍ͯ͠·͢ʂ