消费者是否可以充当生产者并将消息发送到 RabbitMQ 中的消息代理?



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

具有相同服务的发布-订阅

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

请确保将发布者和使用者的连接分开。 RabbitMQ 可以在发布者发送太多消息供服务器处理时对 TCP 连接施加背压。如果在同一 TCP 连接上使用,服务器可能不会从客户端收到消息确认,从而影响使用性能。随着消耗速度的降低,服务器将不堪重负。

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

您可以在客户端文档中找到多种语言的 API 文档

关于设计,消费者可能会消费,做一些处理,然后生产 - 发布到相同或其他消息代理实例的其他交易所......

这是设计决策...

最新更新