Event-Driven Architecture

Event-Driven Architecture Consultant

When systems need to react in real time — orders flowing to fulfillment, content fanning out to millions of readers, inventory syncing across channels — request/response architectures hit a wall. Event-driven architecture removes it: services communicate through events, scale independently and keep working when their neighbours don't.

I've designed and launched Kafka-based event systems that run order management and fulfillment at national retail scale. As a consultant I help teams get EDA right the first time — grounding it in Domain-Driven Design so events reflect the business, then getting the topology, delivery guarantees and operational practices right so it's dependable rather than just fashionable.

Amersfoort, The Netherlands — remote across Europe · Available for new projects

When event-driven architecture pays off

  • Multiple systems need the same data and point-to-point integrations are multiplying
  • Orders, payments or stock updates must keep flowing when one service is down
  • You need an audit trail of every state change for compliance or debugging
  • Batch jobs are too slow — the business needs to react in near real time
  • You're adopting Kafka and want the event design right before it calcifies

What the engagement covers

Event-driven system design

Event storming and Domain-Driven Design: bounded contexts, event ownership, choreography versus orchestration, and where consistency actually matters — so events model the business, not the database.

Kafka architecture & delivery

Topic design, partitioning, schema management, exactly-once versus at-least-once trade-offs — plus the producers and consumers built in Node.js or Java.

EDA reviews & rescue

Already event-driven but drowning in coupling, replays or ordering bugs? I audit existing event systems and untangle them with concrete, prioritised fixes.

What you get

  • Domain model with bounded contexts mapped to event streams
  • Event catalog with ownership, schemas and versioning strategy
  • Kafka topic and partition design with delivery-guarantee choices made explicit
  • Producer and consumer services shipped to production
  • Dead-letter, replay and monitoring setup for operational confidence
  • Team enablement: patterns, pitfalls and hands-on workshops

Tools & technologies

  • Apache Kafka
  • Domain-Driven Design
  • Event Sourcing
  • CQRS
  • Node.js
  • Java
  • AWS
  • Schema Registry
  • Kubernetes

The value event-driven architecture brings

Done well, EDA turns a tangle of brittle integrations into a system that scales, survives partial failure and tells you exactly what happened. Done badly, it just distributes the mess. The difference is in the design.

Resilience by default

When services communicate through events, one component going down means a delay, not an outage — orders queue up and flow again instead of being lost.

Scale where it's needed

Producers and consumers scale independently, so a traffic spike in one part of the system doesn't force you to over-provision everything else.

Integrate once, reuse everywhere

New consumers subscribe to existing event streams instead of demanding yet another point-to-point integration — each addition gets cheaper, not more expensive.

A built-in audit trail

Every state change is an event you can inspect and replay — invaluable for debugging production issues, compliance and rebuilding read models.

Frequently asked questions

How does Domain-Driven Design fit into event-driven architecture?

DDD is the foundation. Bounded contexts define where services and event ownership begin and end, and domain events discovered through event storming become the contracts between them. Skipping that step is how teams end up with events that mirror database tables — coupled, chatty and impossible to evolve.

Is event-driven architecture overkill for our size?

Sometimes, yes — and I'll tell you when it is. EDA earns its complexity when multiple systems consume the same facts, when resilience between services matters, or when you need real-time reactions. If a simpler integration serves you better, that's the recommendation you'll get.

Kafka, RabbitMQ or a cloud-native bus — which should we use?

It depends on your delivery guarantees, retention needs, throughput and team. Kafka excels at high-throughput streams with replay; queues fit task distribution; SNS/SQS or EventBridge keep operations light on AWS. I help you choose on evidence, not fashion.

How do you handle eventual consistency with the business?

By designing it explicitly. We map where the business truly needs immediate consistency (rarely as often as assumed), make staleness windows visible, and use patterns like sagas and outbox to keep multi-step processes correct without distributed transactions.

Can you train our team on event-driven patterns?

Yes. Engagements include event-storming workshops, design reviews and pairing on the first services, so your team internalises the patterns — idempotency, ordering, schema evolution — instead of depending on me long-term.

Building or fixing an event-driven system?

Tell me about your integration landscape and what needs to react in real time. I'll sketch how I'd approach it — honestly, including whether EDA fits at all.

Get in touch