Spring Boot Kafka Microservices - #3 - How Event-Driven Architecture Works and It's Advantages

Welcome to Spring Boot Kafka Event-Driven Microservices Series. In this lecture, we will take a look into How Event-Driven Architecture Works and Its Advantages.

Lecture - #3 - How Event-Driven Architecture Works and Its Advantages

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.