Event-Driven Architecture (EDA)
An architectural pattern where system components communicate by producing, detecting, and reacting to events, enabling loose coupling and asynchronous processing.
Event-Driven Architecture structures applications around the production, detection, and consumption of events. Components publish events when state changes occur, and interested consumers react independently, enabling highly decoupled systems that scale horizontally and evolve independently.
Key characteristics:
- Loose coupling - Producers and consumers operate independently without direct dependencies
- Asynchronous processing - Events are processed when consumers are ready, not immediately
- Event sourcing capability - Events become the source of truth for system state
- Scalability - Consumers scale independently based on event volume
Core components: Event producers (publishers), event brokers (message queues, event streams), event consumers (subscribers)
Example: In an e-commerce system, “OrderPlaced” event triggers inventory reduction, payment processing, shipping notification, and analytics recording—each handled by separate services without direct coupling.