Microservice communication
We know that there are two communication models in the architecture of microservices— synchronous and asynchronous. When applying the chained design pattern, we preferentially use synchronous communication because the consumer of the application is waiting for a complete response that will be composed of data from one or more microservices. If the communication model is not synchronous, the response composition control could have a callback system, which grows in complexity and compromises scalability.
It is important to understand that, with the synchronous communication model, we are creating a blocking communication model. We say that the synchronous communication model is blocking because the consumer of the application is waiting for a response that is being composed in a communication chain between microservices. The longer the communication chain between microservices, the longer the consumer's wait for the application will be.
With the synchronous communication...