Asynchronous communication in microservices

Inside a microservices architecture, every service does one job and does it well. To achieve any meaningful response for a business application, these services need to communicate with each other. All of this communication happens over the network.

Here, a service makes a request to another service and then waits for the response to come back. But there is a catch. What if the other service takes a long time to process the request, or the service is down? What happens then?

Most of the time, the request will time out. But if this service was a critical service, then the number of requests that might be arriving at it may be huge and can keep on getting queued up. If the service is slow, this will make the response times even worse, and will result in more and more requests experiencing timeouts.

But what if the requesting client could just make a request and then register a callback when a response is ready? This would greatly simplify the whole process, and will also help in reducing the timeouts for a request.

Fortunately, the microservices architecture allows us to build the asynchronous capabilities inside the microservices, through which we can make the whole interservice communication an asynchronous operation. So, let's take a look at how we can make our microservices communicate asynchronously.

..................Content has been hidden....................

You can't read the all page of ebook, please click here login for view all page.
Reset
18.218.187.108