Definition: Software design pattern where program flow is determined by events such as user actions, service messages, or state changes.
— Source: NERVICO, Product Development Consultancy
What is Event-Driven Architecture
Event-Driven Architecture (EDA) is a software design pattern where the flow of the program is determined by events: user actions, messages from other services, state changes, or external signals. Instead of services calling each other directly, they produce and consume events through a broker, enabling loose coupling and real-time processing.
How it works
System components are divided into event producers and event consumers. When something relevant occurs (a user makes a purchase, a sensor detects an anomaly), the producer emits an event to a message broker such as Apache Kafka, RabbitMQ, or AWS EventBridge. Consumers subscribed to that event type receive it and execute their logic independently. A single event can be processed by multiple consumers simultaneously. Events are typically persisted to enable replay, auditing, and system state reconstruction.
Why it matters
Event-Driven Architecture enables building highly decoupled systems where services can evolve, scale, and fail independently. This is especially valuable for systems processing high volumes of real-time data, requiring high availability, or integrating multiple services that need to react to the same occurrences without knowing about each other directly.
Practical example
In an e-commerce platform, when a customer completes a purchase, the order service emits an “OrderCreated” event. The inventory service consumes that event to update stock. The notification service sends a confirmation email. The analytics service records the sale. And the billing service generates the invoice. None of these services knows about the others: they simply react to the event. If a new loyalty service is added, it simply subscribes to the existing event without modifying any other component.
Related terms
- Microservices - Architecture that benefits from event-driven decoupling
- CQRS - Complementary pattern that separates reads and writes, frequently used with events
- Serverless - Execution model that naturally combines with events as triggers
Last updated: February 2026