RabbitMQ中有没有办法让多个消费者从同一个队列中获取相同的消息?
我需要向所有正在倾听的人发送相同的消息,同时确保有人处理该消息。基本上,我需要交换的扇出功能以及队列的 basic.ack 功能。有没有办法以可扩展的方式实现这一目标?
答案 0 :(得分:1)
如果您尝试确保正确处理邮件,则确认已提供此功能。如果您的消费者无法处理消息并且未提供确认消息,那么它将被下一个可用的消费者重新排队并再次处理。在同一队列中实施多个竞争消费者将为您提供循环交付,使其他消费者有机会获得成功。
这种可扩展性取决于处理每条消息所需的时间与传入速率,队列持久性,预取以及队列中有多少竞争消费者相比。