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
600
予約システムと Zendesk のニアリアルタイム連携アーキテクチャ
NOT A HOTEL #4 LT
Kei Kamikawa
February 13, 2023
Tweet
Share
More Decks by Kei Kamikawa
See All by Kei Kamikawa
htmx is fun!
codehex
2
230
すぐ使える Cloudflare Workers!
codehex
13
2.9k
Go to Cloudflare Workers
codehex
8
1.6k
AI Gateway 使っているよ!
codehex
2
1.2k
日時処理の新スタンダード: Synchro によるタイムゾーン安全、楽々開発
codehex
1
1.4k
Cloudflare Workers は楽しい!
codehex
9
2.9k
gRPC Client on Cloudflare Workers
codehex
2
4.9k
NOT A HOTEL AI コンシェルジュ「Kevin」とキャッシュ
codehex
1
1.4k
NOT A HOTEL AIコンシェルジュ「Kevin」の開発秘話
codehex
8
120k
Other Decks in Programming
See All in Programming
Git Lint
bkuhlmann
4
770
DMMプラットフォームがTiDB Cloudを採用した背景
pospome
9
4.3k
Try creating your own orderedmap
kazamori
1
270
GitLab CI/CD で C#/WPFアプリケーションのテストとインストーラーのビルド・デプロイを自動化する
hacarus
0
490
Direct Style Effect Systems The Print[A] ExampleA Comprehension Aid
philipschwarz
PRO
0
230
Goのmultiple errorsについて (2024年4月版)
syumai
4
1.2k
Azure OpenAI Serviceのプロンプトエンジニアリング入門
tomokusaba
3
930
Node.js v22 で変わること
yosuke_furukawa
PRO
12
4k
dbtのドメイン分割による データ基盤の改善とDigdagとの連携
sakama
0
470
検証も兼ねて個人開発でHonoとかと向き合った話
hanetsuki
1
1.4k
障害対応を起点としたもっといい開発と運用のサイクル作りのためにできること / Hatena Enginner Seminar #29
polamjag
0
420
Open standards for building event-driven applications in the cloud
meteatamel
0
190
Featured
See All Featured
Fireside Chat
paigeccino
22
2.6k
Ruby is Unlike a Banana
tanoku
96
10k
Unsuck your backbone
ammeep
664
57k
Templates, Plugins, & Blocks: Oh My! Creating the theme that thinks of everything
marktimemedia
20
1.8k
Art, The Web, and Tiny UX
lynnandtonic
290
19k
Building a Modern Day E-commerce SEO Strategy
aleyda
22
6.4k
The Power of CSS Pseudo Elements
geoffreycrofte
62
5k
What's in a price? How to price your products and services
michaelherold
238
11k
The Illustrated Children's Guide to Kubernetes
chrisshort
32
47k
Keith and Marios Guide to Fast Websites
keithpitt
408
22k
Dealing with People You Can't Stand - Big Design 2015
cassininazir
358
22k
The Art of Programming - Codeland 2020
erikaheidi
43
12k
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 νέοτϑΟʔϧυʹ͕ଘࡏ͠ͳ͚Ε৽نͰ༧ εςʔλεΛՃ͢Δ
ϩδοΫ
࠷ऴతͳΞʔΩςΫνϟ
͝ཁղܾͰ͖ͨΜͰ͔͢ʁ
خ͍͕͍ͬ͠ͺ͍ʂ
ҰॹʹࣗಈԽ͍ͯ͘͠ ؒΛืू͍ͯ͠·͢ʂ