RabbitMQ 中消费者能否作为生产者向消息代理发送消息?

Can consumers act as producers and send messages to the message broker in RabbitMQ?

我们能否在 RabbitMQ 中设计发布-订阅模式,让消费者也可以充当生产者并将消息发送到消息代理?

pub-sub with the same service

您是否尝试在消费者代码中使用生产者 API?它应该工作...

您可以在 Client Documentation

中找到多种语言的 API 文档

关于设计,消费者可能会消费、进行一些处理然后生产 - 发布到相同或其他消息传递代理实例的其他交换...

这是设计决定...

是的,消费者也可以充当生产者。这是一个常见的用例,一旦处理完第一条消息,消费者就会发回关于其他内容的新 message/task。

确保将发布者和消费者的连接分开。 当发布者发送太多消息供服务器处理时,RabbitMQ 可以对 TCP 连接施加背压。如果您在同一个 TCP 连接上消费,服务器可能不会收到来自客户端的消息确认,从而影响消费性能。消费速度越慢,服务器就会不堪重负。