2

我有 2 个 Rabbitmq 节点作为集群连接(没有队列复制),并且有 4 个工作人员,都绑定到同一个队列“myqueue”,现在,我手动将消息发布到该队列(发布者可以连接到任何兔子节点 .. 不影响结果)。

现在,发生了这种情况:每次我向该队列发布消息时,我发现消息以循环方式传递给工作人员/消费者,无论消费者或发布者连接到哪个节点,我总是得到同样的结果。

有人告诉我这是 Rabbitmq 的“prefetch_count”的效果,但我不明白这是怎么回事,甚至我也不知道这是否是正确的答案。

4

1 回答 1

1

我认为 rabbitmq 的行为是正确的。当工作人员正在监听队列时,rabbitmq 以循环方式将消息传递给消费者。

参考:http ://www.rabbitmq.com/tutorials/tutorial-two-python.html

默认情况下,RabbitMQ 会按顺序将每条消息发送给下一个消费者。平均而言,每个消费者都会收到相同数量的消息。这种分发消息的方式称为循环。与三个或更多工人一起尝试一下。

于 2013-12-07T03:51:17.180 回答