The Many Meanings of Event-Driven Architecture
I’ve often heard people describe their systems as “event-driven” during my career. But that phrase seems to lead to some very different architectural assumptions. In a recent workshop, we identified four patterns that tend to appear under the title of “event-driven”: event notification, event-based state transfer, event sourcing, and CQRS. Understanding and using these more precise terms will lead to better communication and decision-making.
Martin Fowler – Author, Speaker, Consultant, and General Loud-mouth on Software Development
Event-Driven Architecture (EDA) is a software architecture pattern that emphasizes the production, detection, and reaction to events instead of a traditional request-response model. In EDA, a system comprises event emitters, which produce events, and event handlers, which consume events. The events can trigger actions, change state, or trigger other events. EDA allows for decoupled, asynchronous communication between different system components, making it well-suited for building scalable, distributed systems. It can be used in various applications, including microservices, IoT, and real-time processing.