Chapter 15. Event-Driven Architecture Style
The event-driven architecture (EDA) style is a popular distributed, asynchronous architecture style used to produce highly scalable and high-performance applications. It is also particularly adaptable and can be used for small applications as well as large, complex ones. Event-driven architecture is made up of decoupled event processing components that asynchronously trigger and respond to events. It can be used as a standalone architecture style or embedded within other architecture styles (such as an event-driven microservices architecture).
Many developers and software architects consider EDA more of an architectural pattern than an architectural style. We disagree. Your authors have developed entire systems that rely solely on EDA, which is why we maintain that it’s primarily an architectural style. While EDA can be used in other architectural styles—such as microservices and space-based architecture—to form hybrid architectures, it remains at its core a way of designing complex systems.
Most applications follow what is called a request-based model, as illustrated in Figure 15-1. When a customer requests, for example, their order history for the past six months, this request is initially received by a request orchestrator. The request orchestrator is typically a user interface, but it can also be implemented through an API layer, orchestration services, event hubs, an event bus, or an integration hub. Its role is to direct the request ...