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
CQRS+ES の力を使って効果を感じる / Feel the effects of usi...
Search
shiro seike
PRO
December 21, 2024
Programming
0
360
CQRS+ES の力を使って効果を感じる / Feel the effects of using the power of CQRS+ES
CQRS+ESカンファレンス
https://cqrs-es-con.connpass.com/event/333271
shiro seike
PRO
December 21, 2024
Tweet
Share
More Decks by shiro seike
See All by shiro seike
Team-First Serverless Platform Engineering Approach to PHP Applications with Laravel and Bref
seike460
PRO
0
21
なぜ適用するか、移行して理解するClean Architecture 〜構造を超えて設計を継承する〜 / Why Apply, Migrate and Understand Clean Architecture - Inherit Design Beyond Structure
seike460
PRO
3
890
生成AIコーディングとの向き合い方、AIと共創するという考え方 / How to deal with generative AI coding and the concept of co-creating with AI
seike460
PRO
1
440
地方のPHPerもクラウドを使う理由 ~コストの最適化とチームに向き合う~ / Why even local PHPers use the cloud ~optimize costs and face the team
seike460
PRO
0
77
OpenTelemetryで始めるベンダーフリーなobservability / Vendor-free observability starting with OpenTelemetry
seike460
PRO
0
210
AIコーディングの本質は“コード“ではなく“構造“だった / The essence of AI coding is not “code” but "structure
seike460
PRO
2
1.2k
OpenTelemetryを活用したObservability入門 / Introduction to Observability with OpenTelemetry
seike460
PRO
1
840
Amazon Q Developer Proで効率化するAPI開発入門
seike460
PRO
0
430
実行委員長が振り返るBacklogWorldの裏側と運営Backlog術 / The chairperson of the executive committee looks back on the backstage of BacklogWorld and the art of managing Backlog.
seike460
PRO
0
16
Other Decks in Programming
See All in Programming
品質ワークショップをやってみた
nealle
0
830
Software Architecture
hschwentner
6
2.4k
O Que É e Como Funciona o PHP-FPM?
marcelgsantos
0
240
Swift Concurrency 年表クイズ
omochi
3
220
Towards Transactional Buffering of CDC Events @ Flink Forward 2025 Barcelona Spain
hpgrahsl
0
120
ボトムアップの生成AI活用を推進する社内AIエージェント開発
aku11i
0
1.4k
One Enishi After Another
snoozer05
PRO
0
170
20251016_Rails News ~Rails 8.1の足音を聴く~
morimorihoge
3
900
オンデバイスAIとXcode
ryodeveloper
0
370
Introducing RemoteCompose: break your UI out of the app sandbox.
camaelon
2
300
三者三様 宣言的UI
kkagurazaka
0
330
GC25 Recap: The Code You Reviewed is Not the Code You Built / #newt_gophercon_tour
mazrean
0
140
Featured
See All Featured
Bash Introduction
62gerente
615
210k
Dealing with People You Can't Stand - Big Design 2015
cassininazir
367
27k
Build your cross-platform service in a week with App Engine
jlugia
234
18k
Cheating the UX When There Is Nothing More to Optimize - PixelPioneers
stephaniewalter
285
14k
Testing 201, or: Great Expectations
jmmastey
46
7.7k
GitHub's CSS Performance
jonrohan
1032
470k
Fight the Zombie Pattern Library - RWD Summit 2016
marcelosomers
234
17k
Typedesign – Prime Four
hannesfritz
42
2.8k
No one is an island. Learnings from fostering a developers community.
thoeni
21
3.5k
Intergalactic Javascript Robots from Outer Space
tanoku
273
27k
Distributed Sagas: A Protocol for Coordinating Microservices
caitiem20
333
22k
Thoughts on Productivity
jonyablonski
72
4.9k
Transcript
©Fusic Co., Ltd. 1 CQRS+ES ͷྗΛͬͯΈͯޮՌΛײ じ Δ 2024.12.21 @seike460
CQRS+ESΧϯϑΝϨϯε
©Fusic Co., Ltd. 2 ਗ਼Ո ࢙ @seike460 AWS Community Builder
Serverless AWS User Group Leaders Community Organizer ɹFukuoka.php ɹFukuoka.go ɹJAWS-UG Fukuoka ɹServerless Meetup Fukuoka ɹCloudflare Meetup Fukuoka ɹJP_Stripes Fukuoka ࣗݾհ ͡Ίʹ גࣜձࣾFusic ϓϦϯγύϧΤϯδχΞ/ΤόϯδΣϦετ
©Fusic Co., Ltd. 3 CONTENTS ࣍ 1. CQRS + ES
2. ࣮ԋͷߏ 3. σϞ 4. ·ͱΊ
©Fusic Co., Ltd. 4 CQRS + ES 1
©Fusic Co., Ltd. 5 CQRS + Event Sourcing CQRSͱ Event
Sourcingͷϓϩͷํ͍Βͬ͠Ό͍·͕͢ɺ ͦ͏Ͱͳ͍ํ͍Βͬ͠ΌΔͱࢥ͍·͢ ͜ΕΒͷΞʔΩςΫνϟʮঢ়ଶཧʯͱʮཤྺཧʯΛ͠ ಛʹॻ͖ࠐΈͱಡΈऔΓͷׂΛ໌֬ʹ͚Δͷ͕ಛ
©Fusic Co., Ltd. 6 େنΞʔΩςΫνϟͱ͍͏Πϝʔδ ࣮ࡍ2018ʹग़ձ͍ͬͯΔͷͰ͕͢ɺ ͜ͷ͕࣌ࢥͬͨͷ͕ʮେنͳΞʔΩςΫνϟಛԽʯͱ͍͏Πϝʔδ ʮͷਓੜͰ৮Δ͜ͱͳͦ͞͏ʯͱࢥͬͨͷ͕ਖ਼ͳͱ͜ΖͰ͢
©Fusic Co., Ltd. 7 PHPͰΞΫλʔϞσϧ ҰํͰઌPHPΧϯϑΝϨϯεԭೄ2024ʹͯytake͞Μͱͯ͠ ڧʹিܸΛड͚ͯɺڵຯΛ࣋ͪ·ͨ͠
©Fusic Co., Ltd. 8 AWS LambdaΛத৺ʹݕূͯ͠ΈΔ Ͱʮཧͱͯ͠ྑͦ͞͏͚ͩͲɺϓϩδΣΫτͰຊʹ͑Δͷ͔ʁʯ ʮϝϦοτΛͪΌΜͱମݧͯ͠ಋೖ͍ͨ͠ʯ ͦ͜ͰࠓճҰൠతʹؾܰʹࢼ͍͢͠AWS Lambdaͷ۩ମతͳߏΛྫʹɺ
ͦͷϝϦοτΛ࣮ԋɺମݧͯ͠ΈΑ͏ͱࢥ͍·͢
©Fusic Co., Ltd. 9 ߏ 2
©Fusic Co., Ltd. 10 AWS Lambda + DynamoDBͷγϯϓϧͳҰཡ - ৄࡉ
©Fusic Co., Ltd. 11 AWS Lambda + DynamoDBͷγϯϓϧͳҰཡ - ৄࡉ
ͳΜͱઌఔɺ͔ͱ͡ΎΜ͞Μ͔ΒͷະདྷͷϑΟʔυόοΫ͕͋Γ·ͨ͠ʂ Ұ୴ͬͯΈͨͷͱͯ͠ѻ͍ͬͯͩ͘͞ʂ
©Fusic Co., Ltd. 12 AWS Lambda + DynamoDBͷγϯϓϧͳҰཡ - ৄࡉ
ᶃAPIʹରͯ͠σʔλొ
©Fusic Co., Ltd. 13 AWS Lambda + DynamoDBͷγϯϓϧͳҰཡ - ৄࡉ
ᶃAPIʹରͯ͠σʔλొ ᶄAWS Lambda͕EventTableʹσʔλొ
©Fusic Co., Ltd. 14 AWS Lambda + DynamoDBͷγϯϓϧͳҰཡ - ৄࡉ
ᶃAPIʹରͯ͠σʔλొ ᶄAWS Lambda͕EventTableʹσʔλొ ᶅDynamoDB DataStreame͕AWS LambdaΛىಈ
©Fusic Co., Ltd. 15 AWS Lambda + DynamoDBͷγϯϓϧͳҰཡ - ৄࡉ
ᶃAPIʹରͯ͠σʔλొ ᶄAWS Lambda͕EventTableʹσʔλొ ᶅDynamoDB DataStreame͕AWS LambdaΛىಈ ᶆUserSummaryͱUserDetailͷಡΈऔΓ༻ʹׂ
©Fusic Co., Ltd. 16 AWS Lambda + DynamoDBͷγϯϓϧͳҰཡ - ৄࡉ
ᶃAPIʹରͯ͠σʔλొ ᶄAWS Lambda͕EventTableʹσʔλొ ᶅDynamoDB DataStreame͕AWS LambdaΛىಈ ᶆUserSummaryͱUserDetailͷಡΈऔΓ༻ʹׂ ᶇͦΕͧΕͷAPI͕ಡΈऔΓσʔλΛఏڙ
©Fusic Co., Ltd. 17 EC2͔ΒlocustʢෛՙπʔϧʣΛىಈͯ͠ෛՙΛ͔͚Δ
©Fusic Co., Ltd. 18 σϞ 3
©Fusic Co., Ltd. 19 ·ͱΊ 4
©Fusic Co., Ltd. 20 ·ͱΊ CQRS + ESগ͠ෑډ͕ߴ͍Α͏ͳײ͕͕֮͋ͬͨɺ༗༻ͳͷͰ͋Δ͜ͱຊͷΧϯϑΝϨϯεͰূ໌͞Εͨ Point 01
AWSEventΛѻ͏ҝͷΈ͕͋ΔͷͰαοΫϦͱಋೖʹਐΊΔɺ͚ͲιʔείʔυଆͰͰ͞Βʹྑ͘ͳΓͦ͏ Point 02 ύϑΥʔϚϯεΛग़དྷΔͷͰɺۙʹ͑Δྫͱͯ͑͠Δ͔ Point 03 GitHubʹެ։͍ͯ͠ΔͷͰɺͥͻͬͯΈ·͠ΐ͏ʂ ͔ͱ͡ΎΜ͞ΜͷεϥΠυΛݟͳ͕ΒKJํࣜʹͯ͠Έ·͠ΐ͏ʂ Point 04
©Fusic Co., Ltd. 21 Thank You We are Hiring! https://recruit.fusic.co.jp/
͝ਗ਼ௌ͍͖ͨͩ͋Γ͕ͱ͏͍͟͝·ͨ͠