2013-04-25 137 views
9

我是RabbitMQ的新手,我对管理插件中的消息选项有疑问。它说:“单击”获取消息“将消耗队列中的消息,如果设置了消息队列,消息将被重新添加到队列中,但排序不会被保留,并且'redelivered'将被设置。RabbitMQ队列窥探

This article

在兔(V2.6.1)之后的下一个版本的消息重新排队时,订单不会 破坏。消息将被重新排列到队列的前面 ,这意味着您可以在队列的头部“窥视”。您可以使用管理界面或使用AMQP 客户端来执行此操作。

那么,为什么管理插件说,排序不会被保留?我只是想明白哪一个是正确的?

感谢


我接到的RabbitMQ团队的答复。这是他们在说什么......

在25/04/13 01:05,Prazzy写道:

那么,为什么管理插件说,排序将不会被保留?我是 只是想明白哪一个是正确的?

管理插件似乎没有得到更新。我会解决这个问题。 感谢您指出。

干杯,西蒙

- 西蒙MacMullen RabbitMQ的,VMware的

+0

解决这个问题的最好方法可能是自己测试一下。这不应该太难完成,只需在邮件正文中增加一个数字即可。我也很想知道这一点。 – theMayer 2013-04-27 15:17:04

+0

我测试了超过100条消息,它的工作原理! – Prazzy 2013-04-29 16:39:34

回答

0

管理插件是错误的。

正如RabbitMQ团队的回应所说,您的问题的答案是管理插件是错误的。在2.6.1中改变了行为以重新排队消息,使其尽可能接近原始顺序 - 在这种情况下,几乎肯定会在队列的头部。

小心副作用。

由于this answer指出,然而,“偷窥”是一个相当温和的词语,实际上发生了什么:一条消息(不过是短暂地)从队列中删除,然后放回去。在这段短暂的时间内,可能会有另一条消息被传送给消费者,在这种情况下,您的“窥视”消息仍然会回到头部,但消息可能会被无序处理。