The fundamentals of microservices communication
Before we start our discussion of the different communication challenges, first, we will explore the fundamentals of communication in a microservices architecture. In the next few subsections, we will briefly discuss the core concepts of communication, as they form the basis of a microservices architecture.
Synchronous versus asynchronous communication
To enable communication between clients and services, we will explore the fundamental differences between various alternatives to help us choose the right communication type for our microservices. In synchronous communication, the client sends a request and waits for a response from the service. Synchronous communication can either be blocking or non-blocking, but the client can only continue further processing once a response has been received from the service. This pattern is also known as the synchronous request/response pattern. In service-to-service communication, request/response...