An Abridged Guide to Event Sourcing
summary
Argues that event sourcing plus CQRS replaces CRUD for better auditing and tunable consistency, demonstrates a production-ish system for Wix Adi implemented in Java and Dropwizard using a MySQL event table (site_id, version, wall_time, payload), appends immutable events, and materializes reads with snapshots. Shows snapshotting (start with snapshot every ~10 events) to avoid replaying thousands of updates, uses optimistic locking or reject-on-stale for conflicts, and reports the approach works in production after switching snapshot strategy and fixing a bad truncation.
AI-written summary · about
chapters (18)
- 0:00Intro
- 1:55Background
- 4:05Requirements
- 7:29Mutation Anxiety
- 11:58Not To Scale
- 13:55What's Holding Us Back?
- 19:52Event Sourcing
- 22:15CQRS
- 24:22Better how?
- 30:58Storing Events
- 35:45A Service is Born
- 39:06Architecture 101
- 41:35Conflicting Updates
- 45:03Performance
- 50:17Architecture Redux
- 52:45Eventual Consistency
- 53:14Forethought
- 54:14Further Reading
related talks
43mFunctional and Reactive Event Sourced Applications
56mDeveloping Event-driven Microservices w/Event Sourcing and CQRS
52mHidden gems and traps that you probably didn't think of using Event Sourcing
45mThe Practical Road towards CQRS and Event Sourcing
40m7 Reasons why your microservices should use Event Sourcing & CQRS
58mIntroduction to Event Sourcing
29mEVENT SOURCING IN AKKA PERSISTENCE
47mCQRS and Event Sourcing on Steroids: Lessons Learned with Spring & Axon
