Demystifying Event Sourcing: A Practical Approach to Modern Software Architecture
summary
Shows a working tic-tac-toe XO demo implemented in C# that stores every move as an append-only event, reconstructs game state by replaying events, and runs unit specs that assert rejected commands and successful plays. Uses Azure Cosmos DB event store with a Cosmos trigger to build asynchronous read models and demonstrates a simple in-memory live projection. Emphasizes optimistic concurrency to prevent conflicting appends, lists practical trade-offs (event versioning, eventual consistency) and points to existing libraries (Marten, Axon, Eventuate, EventStoreDB).
AI-written summary · about
chapters (12)
- 0:00Introduction
- 1:02Event sourcing vs other approaches
- 2:27What is an event
- 5:57Event sourcing fundamentals
- 9:32Event sourcing vs traditional storage
- 13:22Event store requirements
- 16:13Live coding XO game
- 22:00Rehydrating state with projections
- 25:13Testing strategies
- 27:00Libraries and frameworks
- 28:42Benefits and alignment
- 29:46Q&A
related talks
52mEvent-driven vs event sourcing: what's really the difference?
48mEvent Sourcing - what could possibly go wrong?
43mEvent Sourcing dealing with an eventful past
01h 25mBuilding microservices with event sourcing and CQRS
20mHow Azure Cosmos DB enables Event Sourcing architecture and powers e-commerce
20mHow Azure Cosmos DB enables Event Sourcing architecture
47mFrom C to Q, One Event at a Time: Event Sourcing in Pictures
52mEvent Sourced Transformation in Financial Systems
