Show in graph

Software → Distributed Systems

Event-Driven Architecture

An architecture style where components communicate by producing and reacting to events.

Event-driven architecture diagram

Motivation

Event-driven architecture solves the problem of tightly coupling services that need to react to changes in other parts of the system.

Where it fits

It belongs to software architecture and distributed systems. It uses events, message brokers, queues, and subscribers to decouple components.

Mental model

Instead of asking another service to do work now, a component publishes that something happened. Other components react independently.

Common mistakes

  • Using events without clear ownership or schemas.
  • Forgetting that asynchronous systems are harder to debug.
  • Treating events as a replacement for all synchronous APIs.