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
760
予約システムと 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
220
オレを救った Cline を紹介する
codehex
16
17k
どこでも使える Cloudflare Workers!
codehex
6
890
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.8k
日時処理の新スタンダード: Synchro によるタイムゾーン安全、楽々開発
codehex
1
2.5k
Cloudflare Workers は楽しい!
codehex
9
3.4k
Other Decks in Programming
See All in Programming
AI Coding Meetup #3 - 導入セッション / ai-coding-meetup-3
izumin5210
0
570
大規模アプリのDIフレームワーク刷新戦略 ~過去最大規模の並行開発を止めずにアプリ全体に導入するまで~
mot_techtalk
0
380
Your Perfect Project Setup for Angular @BASTA! 2025 in Mainz
manfredsteyer
PRO
0
120
WebエンジニアがSwiftをブラウザで動かすプレイグラウンドを作ってみた
ohmori_yusuke
0
170
Reduxモダナイズ 〜コードのモダン化を通して、将来のライブラリ移行に備える〜
pvcresin
2
680
NetworkXとGNNで学ぶグラフデータ分析入門〜複雑な関係性を解き明かすPythonの力〜
mhrtech
3
990
CSC509 Lecture 02
javiergs
PRO
0
400
iOSエンジニア向けの英語学習アプリを作る!
yukawashouhei
0
170
明日から始めるリファクタリング
ryounasso
0
110
私はどうやって技術力を上げたのか
yusukebe
43
17k
Advance Your Career with Open Source
ivargrimstad
0
320
GraphQL×Railsアプリのデータベース負荷分散 - 月間3,000万人利用サービスを無停止で
koxya
1
1.1k
Featured
See All Featured
JavaScript: Past, Present, and Future - NDC Porto 2020
reverentgeek
52
5.6k
Producing Creativity
orderedlist
PRO
347
40k
For a Future-Friendly Web
brad_frost
180
9.9k
GraphQLとの向き合い方2022年版
quramy
49
14k
Code Reviewing Like a Champion
maltzj
525
40k
Measuring & Analyzing Core Web Vitals
bluesmoon
9
610
Typedesign – Prime Four
hannesfritz
42
2.8k
Raft: Consensus for Rubyists
vanstee
139
7.1k
A better future with KSS
kneath
239
17k
Making Projects Easy
brettharned
119
6.4k
Agile that works and the tools we love
rasmusluckow
331
21k
Designing for humans not robots
tammielis
254
25k
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 νέοτϑΟʔϧυʹ͕ଘࡏ͠ͳ͚Ε৽نͰ༧ εςʔλεΛՃ͢Δ
ϩδοΫ
࠷ऴతͳΞʔΩςΫνϟ
͝ཁղܾͰ͖ͨΜͰ͔͢ʁ
خ͍͕͍ͬ͠ͺ͍ʂ
ҰॹʹࣗಈԽ͍ͯ͘͠ ؒΛืू͍ͯ͠·͢ʂ