Event-driven architecture (EDA) is a software design pattern that allows systems to respond to events in real time. It’s used in many applications, including online banking, streaming services, and multiplayer games.
How it works
- Event producers: Create a stream of events
- Event consumers: Listen for events and process them
- Event channels: Transfer events from producers to consumers
- Event broker: A messaging-oriented middleware that allows applications to publish and subscribe to events
Benefits of EDA
- Flexibility: Systems can adapt to new information and changing situations
- Scalability: Components can be added or removed without affecting the current configuration
- Real-time processing: Events are handled as they happen, allowing the system to manage time-sensitive tasks
- Decentralized communication: Components communicate through events rather than direct connections
EDA topologies
- Broker topology: Components broadcast events to the entire system without any orchestrator
- Mediator topology: There is a central orchestrator which controls workflow of events
- Hybrid model: A combination of broker and mediator topologies