What's the best approach for microservices to speak with each other?
In a microservice-based architecture, how do microservices speak to each other?
I have some experience on a user behavior tracking application with multiple microservices speaking to each other through RabbitMQ queues, but that was a rare scenario because no client was waiting for a sync response. But what if a user is waiting for a response? Is that still a good approach or I have to consider an approach like API gateway?