Top 10 Event-Driven Architecture Pitfalls
summary
Workshop-sourced checklist from 150 companies that names concrete pitfalls and fixes: use Kafka partitioning to preserve per-aggregate order (watch hot-partition skew—one case hits 80% of traffic), prefer optimistic locking over heavy select‑for‑update to avoid lost updates, never ack before processing (threads, CompletableFuture queues and Kubernetes kills cause silent loss), prefer an outbox pattern + Debezium over “send then commit”, handle duplicates as the top failure mode, test with Mockito spy/timeout and drain topics to avoid flakiness.
AI-written summary · about
chapters (20)
- 0:00Why EDA is overhyped
- 1:10Pitfall one: EDA when not needed
- 3:00Sequential processing and race conditions
- 5:09Testing consumers with shared topics
- 9:21Producer testing and message leaks
- 10:23Lost updates from concurrent processing
- 13:12Ordering issues and partitioning
- 17:23Hot partitions and Kafka solutions
- 19:04Sequence numbers and delayed retries
- 20:32Early acknowledgments and backpressure
- 24:05Antisocial modeling and state transfer
- 26:35Race conditions in callbacks
- 28:47Producer validation and transaction safety
- 31:21Transactional listeners and outbox pattern
- 35:40Outbox table and CDC for delivery
- 37:32Duplicate messages and idempotency
- 40:50Events versus commands
- 41:54Passive aggressive events
- 43:40Poison pills and broker storms
- 45:26Summary
related talks
47mTop 10 Event-Driven Architecture Pitfalls
48m9 Fallacies of Event driven Architectures
48mEvent-Driven Architecture – Benefits and Pitfalls
26mTen Best Practices for Event Streaming Success
49mAvoiding mistakes with events, one at a time
31mDemystifying Event-Driven Architectures
29m9 Fallacies of Event Driven Architectures
52mSo You Want to Build An Event Driven System?
