# Overview
An event-drive architecture (EDA) is a good fit for a system that needs to be highly responsive, loosely coupled, and scalable. In an EDA, the system is compose of various parts that either produce events, route events, or consume events. The events trigger processing throughout the system.
The result is a system that can process data in real-time (if required), handle high and complex load, and adapt to changes in business requirements.
# Key Considerations
## Components of an Event-Driven Architecture
### [[Event Producers]]
### [[Event Brokers]]
### [[Event Consumers]]
## Design Techniques
[[Event Storming]]
# Pros
# Cons
# Use Cases
To be used if the following non-functional requirements are a priority:
- [[Scalability]]
- [[latency]]
- [[Extensibility]]
# Related Topics