By WalkingTree January 29, 2021
The event-driven architecture is a popular architecture for building fast-paced and highly scalable applications. It is made up of highly decoupled, single-purpose components that asynchronously receive, and process events. Let’s take an example of an eCommerce website to understand this concept better.
Let’s assume there are a total of 5 components in the structure i.e event producers, initial and processing events, event routers, and event consumers. A producer publishes an initial event to the router, which then pushes processing events to consumers. Producer and consumer services are decoupled, which allows them to be scaled and deployed independently.
Event Producers – Event Producers are represented by a website, mobile application, and point-of-sale terminal.
Events – The initial event is the original event generated by the Producer and received by Router, whereas on the other hand, processing events are ones that are generated by the Event Router and received by the Event Consumer components.
Channels – Both initial and processed events are delivered by event channels.
Event Router – The event router is responsible for identifying an initial event and selecting and executing the steps contained within the event.
Event Customers – Event Consumers are represented by Management DB, Finance System, and Customers Relations office. Event Consumers are independent, highly decoupled architecture components that perform a specific task in the application.
Let’s take a look at the pattern analysis:
- Scalability – High, each event consumer can be scaled separately.
- Development complexity – High, Complicated due to the asynchronous nature of the pattern.
- Performance – High performance through asynchronous capabilities such as the ability to perform decoupled, parallel asynchronous operations.
- Testability – Low, requires some sort of specialized testing client or testing tools
- Modifiability – High, changes can be made quickly without impacting other components.
Read on to know more about event-driven architecture and its use cases.
The need for improvement in healthcare UX has become apparent over the years. According to a John Hopkins…
Welcome back to the Dashboard Design Principles series! If this is your first time here, part 1 will…
It is frustrating to not have the information you need at your fingertips. With astronomical data coming in…
It has become evident that over the past decade the BFSI industry is heading toward a major overhaul….
Accessibility put simply, is a user experience designed for all. This concept, although around for a while, has…