When should your service use synchronous communication?
When each step in the service depends on the previous steps
When requestors can continue to interact with the service while awaiting the response
When there are a lot of processes competing for resources
When you require real-time communication