Remote Procedure Calls (RPC) are commonly used with client-server architectures. The client is required to perform some actions to the server, and then waits for the server reply.
The messaging paradigm tries to enforce a totally different approach with the fire-and-forget messaging style, but it is possible to use properly designed AMQP queues to perform and enhance RPC, as shown in the following figure:
Graphically it is depicted that the request queue is associated with the responder, the reply queues with the callers.
However, when we use RabbitMQ, all the involved peers (both the callers and the responders) are AMQP clients. ...