Search code examples
rabbitmqmqpika

Why is AMQP a two-way RPC protocol?


I read the Pika doc, but I am not quite understand why it says "AMQP a two-way RPC protocol, where the client can send requests to the server and the server can send requests to a client...". Can anyone give me an example please ?

Does it mean when we create a exchange.

client sends: exchange.declare server replies: exchange.declare-ok

Are these two method requests?


Solution

  • In your particular example exchange.declare is client request and exchange.declare-ok is server response.

    Though, there are some methods that server can send to client, e.g. basic.deliver, basic.return, connection.blocked (RabbitMQ-specific extension).