RabbitMQ:从队列扇出(不是从交换)

wol*_*ude 5 message-queue amqp rabbitmq

RabbitMQ 有什么方法可以让多个消费者从同一个队列获取相同的消息吗?

我需要向任何正在收听的人发送同样的信息,但也要确保有人处理它。基本上,我需要交换器的扇出功能与队列的basic.ack功能相结合。有什么方法可以以可扩展的方式实现这一点吗?

Abr*_*mon 1

如果您试图确保消息得到正确处理,则确认已经提供了此功能。如果您的消费者无法处理该消息并且不提供确认,则该消息将被重新排队并由下一个可用的消费者再次处理。在同一队列上实现多个竞争消费者将为您提供循环交付,从而使其他消费者有成功的机会。

其可扩展性取决于与传入速率、队列持久性、预取以及队列上有多少竞争消费者相比,处理每条消息所需的时间。