生产者发送消息rabbitmq,消费者从rabbitmq接收消息,然后消费者通过rabbitmq将消息发送回生产者。
有可能吗?
答案 0 :(得分:5)
您是否尝试实施RPC类型的系统,或者只是想知道如何在两个方向上发送消息?
基本管道是单向的。您不能通过消费者从生产者收到消息的同一队列将消费者的消息发送给生产者。
如果您想以其他方式发送消息,您的消费者也需要成为生产者,您的生产者也需要成为消费者。
答案 1 :(得分:0)
是的可能,但是生产者必须监听客户端将发布/生成的队列...,您可以在生产者发送的第一个消息中发送queueName / routingkey(生产者)客户端..然后客户端收到带有routingkey的msg后可以将msg发送给原始生产者
答案 2 :(得分:0)
生产者需要另一个队列来从Consumer获取响应,所谓的回调队列。生产者可以使用reply_to和correlation_id发送请求。然后,Consumer可以使用reply_to作为路由键来指向正确的回调队列,Producer可以使回调队列出列并匹配correlation_id。