📘 Premium Read: Access my best content on Medium member-only articles — deep dives into Java, Spring Boot, Microservices, backend architecture, interview preparation, career advice, and industry-standard best practices.
🎓 Top 15 Udemy Courses (80-90% Discount): My Udemy Courses - Ramesh Fadatare — All my Udemy courses are real-time and project oriented courses.
▶️ Subscribe to My YouTube Channel (176K+ subscribers): Java Guides on YouTube
▶️ For AI, ChatGPT, Web, Tech, and Generative AI, subscribe to another channel: Ramesh Fadatare on YouTube
In this short article, we will discuss what event-driven architecture is.
YouTube Video
What Is Event-Driven Architecture?
What is an Event?
Event-Driven Microservices Architecture
Event-Driven Architecture is widely used in Microservices applications.
The below diagram shows a simple Event-Driven Microservices Architecture:
In Event-Driven Microservices Architecture, all the Microservices are loosely coupled (independent of each other).Advantages Of Event-Driven Architecture
Improves Flexibility And Maintainability
One of the most important needs of an application is maintainability. Ease of maintainability comes with proper separation of concerns.In our example above, the OrderService is only responsible for collecting the order and placing it in the queue. It does not worry about how it is going to be processed, who is going to process it, and so on.
Similarly, the StockService is only responsible for updating the stock, and the same with the other microservices.
If there is a need for an additional processing step on an order, you write a new microservice to listen on the Message Broker and easily integrate it into the system.
Such an architecture is clearly extensible, and also easily maintainable, due to the separation of concerns.
High Scalability
In Event-Driven Microservices Architecture, all the Microservices are loosely coupled (independent of each other) so you can easily scale this architecture by adding any number of microservices without affecting existing microservices.Improves Availability
Let’s say one of the services listening for order events from the queue, such as the StockService, goes down.In the first architecture approach of using a monolithic approach, anyone functionality going down would mean the application cannot process orders anymore.
In the case of event-driven architecture, the StockService going down would not prevent the OrderService from putting the order event into the Queue. The OrderService can notify the user of a successful request receipt.
Comments
Post a Comment
Leave Comment