← Concepts
Distributed Systems·3 min read

Event-Driven Architecture

Services react to events others emit instead of calling each other directly: loose coupling at the cost of harder reasoning.

First time reading this? Start here

Plain English: instead of Service A directly calling Services B, C, and D when something happens, A just announces 'this happened' (an event) and any service that cares listens and reacts. A doesn't even need to know B, C, and D exist. Very loosely coupled, but harder to follow the flow.

Used in:Apache KafkaNotification SystemBluesky (AT Protocol)
What it is

An architectural style where components communicate by producing and consuming events, which are immutable facts about something that happened ('OrderPlaced', 'PaymentCaptured'). Producers emit events to a broker without knowing who consumes them; consumers subscribe and react. Contrast with request-driven architecture, where a service explicitly calls the services it depends on.

The problem it solves

Direct request-driven calls tightly couple services: the caller must know every downstream, and adding a new reaction means changing the caller. Event-driven architecture inverts this: the producer announces a fact and stays ignorant of consumers. You can add new consumers (analytics, notifications, fraud) without touching the producer, absorb spikes through the broker, and let each consumer fail and recover independently.

How it works

A producer publishes an event to a broker (Kafka topic, message queue, event bus). Subscribers consume it asynchronously and react, often emitting their own events, forming a choreography. Two flavors: event notification (thin event, consumer fetches details if needed) and event-carried state transfer (event carries the full payload so consumers need no callback). The broker provides durability, replay, and buffering. Because everything is async, the system is eventually consistent rather than immediately consistent.

Why use it
What it costs you
Where it shows up in our architectures
Gotchas

Your notes

Private to you