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
190
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
70
Co(ol)routines - Javaforum Q1
olbpetersson
0
140
Coolroutines - non-blocking Kotlin
olbpetersson
0
90
JWTB - Begin EventSourcing With Lagom
olbpetersson
0
110
Begin EventSourcing with Lagom - Javaforum Q4 2017
olbpetersson
0
81
JavaOne - Reactive Java EE
olbpetersson
0
150
JHipster - The best way to breed a new app
olbpetersson
0
840
Reactive Java EE
olbpetersson
0
360
Other Decks in Programming
See All in Programming
それ、本当に安全? ファイルアップロードで見落としがちなセキュリティリスクと対策
penpeen
7
2.4k
Automatic Grammar Agreementと Markdown Extended Attributes について
kishikawakatsumi
0
180
ZJIT: The Ruby 4 JIT Compiler / Ruby Release 30th Anniversary Party
k0kubun
1
390
組織で育むオブザーバビリティ
ryota_hnk
0
160
Fragmented Architectures
denyspoltorak
0
140
Package Management Learnings from Homebrew
mikemcquaid
0
160
Grafana:建立系統全知視角的捷徑
blueswen
0
320
Vibe Coding - AI 驅動的軟體開發
mickyp100
0
160
CSC307 Lecture 03
javiergs
PRO
1
490
AI前提で考えるiOSアプリのモダナイズ設計
yuukiw00w
0
220
CSC307 Lecture 06
javiergs
PRO
0
680
Architectural Extensions
denyspoltorak
0
260
Featured
See All Featured
DBのスキルで生き残る技術 - AI時代におけるテーブル設計の勘所
soudai
PRO
61
49k
Scaling GitHub
holman
464
140k
Distributed Sagas: A Protocol for Coordinating Microservices
caitiem20
333
22k
Balancing Empowerment & Direction
lara
5
860
Leadership Guide Workshop - DevTernity 2021
reverentgeek
1
190
Measuring & Analyzing Core Web Vitals
bluesmoon
9
740
JAMstack: Web Apps at Ludicrous Speed - All Things Open 2022
reverentgeek
1
320
Building a A Zero-Code AI SEO Workflow
portentint
PRO
0
280
The SEO identity crisis: Don't let AI make you average
varn
0
62
Money Talks: Using Revenue to Get Sh*t Done
nikkihalliwell
0
150
The Language of Interfaces
destraynor
162
26k
A Guide to Academic Writing Using Generative AI - A Workshop
ks91
PRO
0
190
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?