Full-day workshop:

Event-Driven Architectures

Why this workshop?

Event-Driven Architecture is easy to sell and hard to get right.

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.

Objectives

Learn when EDA actually helps — and when it quietly destroys systems

Make architecture decisions you can defend (trade-offs, not dogma)

Leave with practical patterns you can apply Monday

Who is it for?

Software architects & senior engineers designing distributed systems

Teams already using Kafka or other message brokers and feeling the pain

People who enjoy challenging assumptions and debating architecture choices

What to expect?

Hands-on examples of idiomatic code patterns

Highly interactive debates, live redesigns, and uncomfortable questions

Hard trade-offs pictured with both diagrams and code

Real-world stories: what worked, what broke, why, and how it was fixed

Technical requirements (nice to have):

IntelliJ Ultimate or Community

Unrestricted access to GitHub & Maven Central

Maven

Agenda

Introduction & Core Concepts

  • 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)

Designing with Events

  • 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


Hands-on: build an event flow with Spring Kafka

  • Produce -> Consume -> React

  • Idempotency, Retries

  • Integration Testing techniques for Producer & Consumer

Hard Problems

  • 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

  • Privacy & Security
  • Event Schema Evolution

Wrap-up

  • Architecture Tradeoffs & War storiesbility

  • When EDA failed (and why)

  • Decision chcklist for real projects

  • Key takeaways

Who are the trainers?

VICTOR RENTEA

Java Champion & Independent Trainer

VICTOR RENTEA CONSULTING

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

Stay up to date

* indicates required

We use Mailchimp as our marketing platform. By clicking above to subscribe, you acknowledge that your information will be transferred to Mailchimp for processing. Learn more about Mailchimp's privacy practices here.

You can change your mind at any time by clicking the unsubscribe link in the footer of any email you receive from us, or by contacting us at [email protected]