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.
Organizations today have a plethora of technologies to use. These technologies have helped them improve their services by…
What is … User testing is an essential part of the UX design process. It refers to a…
In 2000, when Jakob Nielsen published the book “Web Usability”, User Experience was in infant stage in web…
Adobe XD is a very fast emerging prototyping application and is making rounds in every organization, who is…