Event Sourcing - what could possibly go wrong?
summary
Practical war stories from five commercial products: event store vs snapshots, transactional event sourcing for simple deployments and single-writer sharding for high throughput; append-only events plus projectors push read models via an event bus (Kafka recommended) while sequence numbers enforce order and at-least-once delivery; use Cassandra for partitioned, leaderless writes (two nodes claim ~100k TPS), prefer Avro/Protobuf or binary to save space (60–70% disk saving with binary serialization); expect duplicates, sagas/compensating actions, split‑brain in clusters and plan replay/snapshot and key‑shred GDPR strategies.
AI-written summary · about
chapters (15)
- 0:00Start
- 0:40What is Event Sourcing?
- 13:38ES and CQRS alternatives
- 15:28ES from application perspective
- 21:22Cassandra perfect for ES? partitioning by design
- 26:36Schema evolution - full compatibility
- 30:59State replay time
- 32:24Memory consumption
- 34:05Handling duplicates
- 36:12Broken read model
- 37:35Multi aggregate transactional update
- 39:53Saga - choreography
- 40:24Saga - orchestration
- 42:41Cluster = split brain
- 45:06Summary
related talks
54mEvent Sourcing
43mEvent Sourcing dealing with an eventful past
51mThings I wish I knew before I started with event sourcing
52mEvent-driven vs event sourcing: what's really the difference?
52mEvent Sourced Transformation in Financial Systems
01h 07mAn Architecture with CQRS and Event Sourcing
39mEvent Sourcing with Elixir
30mDemystifying Event Sourcing: A Practical Approach to Modern Software Architecture
