NEW
Also known as: EDA
An architectural style that uses events to trigger and communicate between decoupled services, enabling asynchronous, reactive, and scalable systems.
DESCRIPTION
Event-driven architecture decouples producers and consumers by communicating via events, often through a broker or event bus. It supports low-latency, scalable, and resilient systems. Common building blocks include topics, queues, event routers, and stream processors. Benefits include independent deployment, loose coupling, and high throughput. Challenges include event ordering, idempotency, schema evolution, and eventual consistency. EDA underpins modern microservices, IoT, and real-time analytics. It is frequently implemented with technologies like Apache Kafka, AWS SNS/SQS, and Azure Event Hubs.
ALTERNATIVE DEFINITIONS
Wikipedia
Event-driven architecture (EDA) is a software architecture paradigm promoting the production, detection, consumption of, and reaction to events.
Stresses the complete lifecycle around events—production, detection, consumption, and reaction.
Microsoft Learn
This style uses events to trigger and communicate between decoupled services.
Highlights decoupling of services and event-triggered interactions.
AWS
Event-driven architecture (EDA) is a design pattern in which decoupled applications can asynchronously publish and subscribe to events.
Emphasizes asynchronous publish/subscribe and decoupled applications.
RELATED TERMS
Publish-Subscribe Pattern Queue Event Streaming Event Sourcing Change Data Capture Apache Kafka Asynchronous Messaging Microservices Serverless Computing Command and Query Responsibility Segregation
COMPETING TERMS
Request-Response Pattern Batch Processing
RELATIONS
- Narrower: Choreography
KNOWLEDGE AREAS
Real-time & Streaming Data Data Architecture Software Engineering Data Integration & Interoperability Cloud
TARGET AUDIENCE
Software Developer Data Engineer DevOps Engineer Cloud Architect Data Architect Enterprise Architect
EXTERNAL SOURCES
- Wikipedia - Event-driven architecture
- Microsoft - Azure architecture style overview
- AWS - AWS guidance on EDA
- Apache Kafka - Kafka concepts and event streaming
- Google Cloud - Event routing on Google Cloud
TOP QUESTIONS
Why is Event-Driven Architecture still relevant?
EDA enables decoupling and scalability for modern microservices, IoT, and real-time analytics. It supports elastically scaling consumers. This makes it a core pattern in cloud-native systems.
Category: Relevancy
What is a hot topic around Event-Driven Architecture?
Schema evolution and governance for events are hot topics. Teams emphasize contracts, versioning, and compatibility. Event-driven microservices with exactly-once semantics also attract attention.
Category: Topic
How is Event-Driven Architecture typically implemented?
It’s commonly implemented using brokers like Kafka, Pulsar, or cloud services such as SNS/SQS and Event Hubs. Producers publish events; consumers subscribe. Stream processors derive new events.
Category: Management
What are common mistakes in Event-Driven Architecture?
Ignoring idempotency and ordering causes duplicate processing and inconsistencies. Lack of schema governance leads to breaking changes. Overusing fine-grained events increases complexity.
Category: Mistakes
What is the risk of adopting Event-Driven Architecture?
Increased operational complexity and debugging difficulty are risks. Eventual consistency can surprise consumers. Poor observability complicates incident response.
Category: Risks
What competes with Event-Driven Architecture?
Synchronous request-response patterns compete by providing predictable call flows. Batch processing competes for non-real-time scenarios. Choice depends on latency and coupling needs.
Category: Alternatives
How do you ensure data quality in Event-Driven Architecture?
Use schemas (e.g., Avro or JSON Schema), registries, and validation. Establish versioning policies. Monitor dead letters and consumer lag for issues.
Category: Requirements
What’s a striking analogy for Event-Driven Architecture?
Like a newswire: publishers broadcast stories; subscribers pick what to read. They’re decoupled and asynchronous, aiding scale and flexibility.
Category: Example
Where should teams start learning Event-Driven Architecture?
Begin with broker fundamentals (Kafka concepts), pub/sub patterns, and idempotent consumers. Build a small prototype with schema registry and monitoring.
Category: Advice