This topic describes the concept and benefits of an event-driven architecture (EDA). This topic also provides sample EDAs.
What is an EDA?
An EDA is loosely coupled and distributed. After the events generated by an application are collected, the events are processed in real time and then routed to a downstream system without waiting for the system to respond. You can use EventBridge to build various simple or complex EDAs to establish a connection between a cloud service and an application or between applications based on the CloudEvents 1.0 specification.
- Event collection: collects events generated by various applications, for example, status changes such as new orders and return orders.
- Event processing: de-identifies and filters the collected events.
- Event routing: analyzes the event content and routes the events to a downstream service.
An EDA has the following benefits:
- Coupling reduction
Reduce the coupling between event producers and subscribers. An event producer needs to focus only on the occurrence of an event, but not on how the event is processed and which subscribers the event is distributed to. A failure in a phase does not affect the normal operation of other phases.
- Asynchronous execution
EDAs are suitable for asynchronous scenarios. Even during peak hours, events from various sources are collected and retained in event buses. Then, the events are gradually distributed and delivered without causing system congestion or excess resources.
The routing and filtering capabilities of the EDA support service division. This facilitates scaling and routing.
The EDA can be integrated with various Alibaba Cloud services and applications, allows you to route events to all system services, and provides various agile and efficient deployment solutions.
Sample EDA of an HR service system
The following figure shows a sample EDA of an HR service system. EventBridge collects the employee onboarding events generated by the HR service system, and routes and forwards the events. This architecture can improve the scalability of the site, and cope with enterprise architecture upgrades and system expansion with ease.
Sample EDA of an order service system
The following figure shows a sample EDA of an order service system. In this architecture, EventBridge collects events of various order states and distributes the events to event targets.