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
44
Co(ol)routines - Javaforum Q1
olbpetersson
0
81
Coolroutines - non-blocking Kotlin
olbpetersson
0
63
JWTB - Begin EventSourcing With Lagom
olbpetersson
0
78
Begin EventSourcing with Lagom - Javaforum Q4 2017
olbpetersson
0
63
JavaOne - Reactive Java EE
olbpetersson
0
140
JHipster - The best way to breed a new app
olbpetersson
0
640
Reactive Java EE
olbpetersson
0
330
Other Decks in Programming
See All in Programming
dbtのドメイン分割による データ基盤の改善とDigdagとの連携
sakama
0
400
Git Lint
bkuhlmann
4
750
Tailwind CSSを本気でカスタマイズする方法
fsubal
14
5.4k
サイコロで理解する統計的仮説検定の考え方
tatamiya
4
1k
ADRを一年運用してみた/adr_after_a_year
hanhan1978
7
2.4k
PHPはいつから死んでいるかの調査
chiroruxx
1
400
Fragment Composition of GraphQL
quramy
11
1.2k
CA.swift19 恋するAIアプリ開発の裏側
oskmr
0
370
Azure OpenAI Serviceのプロンプトエンジニアリング入門
tomokusaba
3
830
雑に思考を整理する技術と効能
konifar
61
30k
見た目から始める生産性向上
ikumatadokoro
8
1.1k
Scalable Customer Journey Orchestration (CJO)
lewuathe
0
380
Featured
See All Featured
Designing Dashboards & Data Visualisations in Web Apps
destraynor
226
51k
[RailsConf 2023] Rails as a piece of cake
palkan
26
4k
What's in a price? How to price your products and services
michaelherold
238
11k
Adopting Sorbet at Scale
ufuk
69
8.6k
Building Flexible Design Systems
yeseniaperezcruz
320
37k
Happy Clients
brianwarren
92
6.4k
The Language of Interfaces
destraynor
151
23k
Debugging Ruby Performance
tmm1
70
11k
4 Signs Your Business is Dying
shpigford
176
21k
The Invisible Side of Design
smashingmag
294
49k
BBQ
matthewcrist
80
8.8k
VelocityConf: Rendering Performance Case Studies
addyosmani
321
23k
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?