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
Begin Event Sourcing with Lagom
Search
Ola Petersson
October 23, 2017
Programming
2
170
Begin Event Sourcing with Lagom
Ola Petersson
October 23, 2017
Tweet
Share
More Decks by Ola Petersson
See All by Ola Petersson
NDC_Oslo__DevOps_in_Real_Life_-_A_How_To.pdf
olbpetersson
0
49
Co(ol)routines - Javaforum Q1
olbpetersson
0
100
Coolroutines - non-blocking Kotlin
olbpetersson
0
67
JWTB - Begin EventSourcing With Lagom
olbpetersson
0
84
Begin EventSourcing with Lagom - Javaforum Q4 2017
olbpetersson
0
67
JavaOne - Reactive Java EE
olbpetersson
0
140
JHipster - The best way to breed a new app
olbpetersson
0
730
Reactive Java EE
olbpetersson
0
330
Other Decks in Programming
See All in Programming
LLM Supervised Fine-tuningの理論と実践
datanalyticslabo
3
1k
Jakarta EE meets AI
ivargrimstad
0
230
暇に任せてProxmoxコンソール 作ってみました
karugamo
1
720
テスト自動化失敗から再挑戦しチームにオーナーシップを委譲した話/STAC2024 macho
ma_cho29
1
1.3k
17年周年のWebアプリケーションにTanStack Queryを導入する / Implementing TanStack Query in a 17th Anniversary Web Application
saitolume
0
250
testcontainers のススメ
sgash708
1
120
アクターシステムに頼らずEvent Sourcingする方法について
j5ik2o
4
210
Haze - Real time background blurring
chrisbanes
1
510
ゆるやかにgolangci-lintのルールを強くする / Kyoto.go #56
utgwkk
1
370
rails stats で紐解く ANDPAD のイマを支える技術たち
andpad
1
290
今年一番支援させていただいたのは認証系サービスでした
satoshi256kbyte
1
250
生成AIでGitHubソースコード取得して仕様書を作成
shukob
0
280
Featured
See All Featured
Statistics for Hackers
jakevdp
796
220k
Designing Dashboards & Data Visualisations in Web Apps
destraynor
229
52k
How to Create Impact in a Changing Tech Landscape [PerfNow 2023]
tammyeverts
48
2.2k
Practical Tips for Bootstrapping Information Extraction Pipelines
honnibal
PRO
10
810
Writing Fast Ruby
sferik
628
61k
Site-Speed That Sticks
csswizardry
2
190
Why You Should Never Use an ORM
jnunemaker
PRO
54
9.1k
Become a Pro
speakerdeck
PRO
26
5k
For a Future-Friendly Web
brad_frost
175
9.4k
実際に使うSQLの書き方 徹底解説 / pgcon21j-tutorial
soudai
169
50k
個人開発の失敗を避けるイケてる考え方 / tips for indie hackers
panda_program
95
17k
Reflections from 52 weeks, 52 projects
jeffersonlam
347
20k
Transcript
EVENT SOURCING WITH LAGOM
ME A few words about Ola Petersson @gotoOla
[email protected]
JUG
Gothenburg (JavaForum Göteborg)
ID.1 50
ID.1 51
ID.1 52
None
50 + 1 + 1 = 52
COMMANDS EVENTS aggregates
COMMANDS EVENTS aggregates
COMMANDS EVENTS aggregates
CMD
CMD EVENT
CMD EVENT OLD
CMD EVENT OLD NEW
EVENT
{ food: [], drinks: [] } commands Events AGGREGATE
{ addBurger } { food: [], drinks: [] } commands
Events AGGREGATE
{ addBurger } { food: [], drinks: [] } {
burgerAdded } commands Events AGGREGATE
{ addBurger } { food: [burger], drinks: [] } {
burgerAdded } commands Events AGGREGATE
{ addBurger } { food: [burger], drinks: [] } {
addBeer } { burgerAdded } commands Events AGGREGATE
{ addBurger } { food: [burger], drinks: [] } {
addBeer } { burgerAdded } { beerAdded } commands Events AGGREGATE
{ addBurger } { food: [burger], drinks: [beer] } {
addBeer } { burgerAdded } { beerAdded } commands Events AGGREGATE
{ addBurger } { food: [burger], drinks: [beer] } {
addSalad } { addBeer } { burgerAdded } { beerAdded } commands Events AGGREGATE
{ addBurger } { food: [burger], drinks: [beer] } {
addSalad } { addBeer } { burgerAdded } { saladAdded } { beerAdded } commands Events AGGREGATE
{ addBurger } { food: [burger, salad ], drinks: [beer]
} { addSalad } { addBeer } { burgerAdded } { saladAdded } { beerAdded } commands Events AGGREGATE
{ addBurger } { food: [burger, salad ], drinks: [beer,
water] } { addSalad } { addBeer } { addWater } { burgerAdded } { saladAdded } { beerAdded } { waterAdded } commands Events AGGREGATE
.
None
akka
None
CHANGE HISTORY AUDIT LOG SPEED TIME TRAVEL
CHANGE HISTORY AUDIT LOG SPEED TIME TRAVEL
CHANGE HISTORY AUDIT LOG SPEED TIME TRAVEL
CHANGE HISTORY AUDIT LOG SPEED TIME TRAVEL
event storming
READ?
CQRS WRITE READ
EVENTUAL CONSISTENCY … a necessary evil
MICROSERVICES
QUESTIONS?