RabbitMQ:使用单一队列的主题交换循环分发消息

3
在以下情况下,RabbitMQ是否会对消息进行轮询分发?
RabbitMQ配置:
- 交换机类型 - 主题 - 路由键 - notify.#
生产者正在使用以下不同主题将消息推送到上述交换机中-
- notify.log.# - notify.status.# - notify.priceChange.#
有4个消费者在不同的服务器上运行。
- 3个消费者正在执行相同的处理,并在负载均衡器下的同一应用程序的不同实例上运行。(他们希望消耗生产者推送的每条消息) - 它们正在侦听附加有路由键“notify.#”的“notification_queue”。
剩余的第4个消费者正在执行与前3个消费者不同的处理,并在不同应用程序的不同服务器上运行。
- 它正在侦听附加有路由键“notify.log.#”的“log_queue”。
RabbitMQ是否会以轮询方式在前3个消费者(在点1中)中分发消息?
请帮忙。

是的,这是轮询方式,只需注意如果一个消费者挂起,其他消费者仍然会接收到消息。所以它不是“公平分配”。但平均而言,在一段时间内,它们应该获得相同数量的消息。 - Martin Wickman
1个回答

2

确实如此,消费者的起点不重要。当我们在同一队列上有多个消费者时,分配是轮询的,您可以在此模拟器中尝试:http://tryrabbitmq.com/


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接