Synchronous communication is used in microservices when the requesting service needs to receive a response from the other service in order to continue with its own processing.
This could be because the requesting service needs the information contained in the response in order to complete its own processing, or because real-time communication is necessary. Synchronous communication is different from asynchronous communication, where the requesting service sends a message to a message queue and the receiving service processes the message at a later time.