9

Producer向rabbitmq发送消息,consumer从rabbitmq接收消息,然后consumer通过rabbitmq将消息发送回producer。

可能吗?

4

3 回答 3

7

您是在尝试实现 RPC 类型的系统,还是只想知道如何双向发送消息?

基本管道是单向的。您不能通过消费者从生产者接收消息的同一队列将消息从消费者发送到生产者。

如果你想以另一种方式发送消息,你的消费者也需要是生产者,你的生产者也需要是消费者。

于 2013-01-30T08:41:53.867 回答
0

是的,它可能,但是生产者还必须监听一个队列,客户端将在该队列上发布/生产...,您可以在从生产者发送到客户端的第一个 msg 中发送 queueName/routingkey(生产者的)。 . 客户端在收到带有routingkey的msg后,可以将msg发送给原始生产者

于 2013-01-30T08:32:14.057 回答
0

生产者需要另一个队列来从消费者那里获取响应,即所谓的回调队列。生产者可以发送带有reply_to 和correlation_id 的请求。然后,消费者可以利用reply_to作为路由键来指向正确的回调队列,生产者可以将回调队列出队并匹配correlation_id。

于 2015-10-06T22:18:20.370 回答