为什么Rabbitmq集群以Round-Robin方式向消费者传递消息

时间:2013-12-05 19:56:20

标签: rabbitmq amqp high-availability round-robin node-amqp

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

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

我被告知这是Rabbitmq的“prefetch_count”的效果,但我不明白是怎么回事,或者我不知道这是不是正确答案。

1 个答案:

答案 0 :(得分:1)

我认为rabbitmq表现正常。当工人正在听队列时,rabbitmq以循环方式向消费者传递信息。

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

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