In this workshop we go beyond buzzwords and design systems that actually survive production: duplicates, retries, races, schema changes, and human mistakes. You’ll redesign real flows, argue architectural trade-offs, and dissect failure stories from systems that looked right on paper and still broke.
If you’ve ever wondered whether Event-Driven Architectures (EDA) is the right choice—or feared you might be using it wrong—this workshop is for you.
Why EDA: resilience, extensibility, scalability, auditability
When not to use EDA
EDA Levels
Event vs Command vs Query? Calls vs Messages?
Brokers: Kafka mental model (topics, partitions, offsets)
Event Storming (lightweight)
Event-Carried State Transfer vs Notification
Delta vs Snapshot Event
Event Granularity: Internal (domain) vs External (integration)
Event Metadata
Exercise: Redesign a REST API orchestration to an Event-based choreography
Produce -> Consume -> React
Idempotency, Retries
Integration Testing techniques for Producer & Consumer
Duplicate Messages
Racing and Out-of-order Messages in consumer
Consumer callback race
Transactions, Outbox Pattern, CDC
Eventual Consistency via Compensations, Reservations, and Saga Pattern
Poison-pill message and message loop
Request-Apply (Anti)Pattern
Event Schema Evolution
Architecture Tradeoffs & War storiesbility
When EDA failed (and why)
Decision chcklist for real projects
Key takeaways
Java Champion & Independent Trainer
With 20 years of experience, Victor is a Java Champion specializing in training software developers and architects. Thousands of engineers from over 150 companies have attended Victor’s workshops, enabling him to develop deep insights across a variety of application domains. Distilling the lessons learned from these sessions, he gave countless educational yet entertaining talks at top conferences, where he’s known as ‘the speaker with the soundboard’. In his spare time, Victor coaches individuals and teams and organizes online meetups for the European Software Crafters community. More on https://victorrentea.ro