9

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

这篇文章

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

那么为什么管理插件说订单不会被保留呢?我只是想了解哪个是正确的?

谢谢


我收到了 RabbitMQ 团队的回复。这就是他们所说的......

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

那么为什么管理插件说订单不会被保留呢?我只是想了解哪个是正确的?

管理插件似乎没有更新。我会解决的。感谢您指出。

干杯,西蒙

-- Simon MacMullen RabbitMQ,VMware

4

1 回答 1

1

管理插件错误。

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

当心副作用。

然而,正如这个答案所指出的那样,“偷看”对于实际发生的事情来说是一个听起来相当温和的术语:一条消息(无论多么短暂)从队列中删除,然后放回。在这段短暂的时间内,可能会有另一条消息被传递给消费者,在这种情况下,您的“偷看”消息仍将返回到头部,但消息可能会被无序处理。

于 2017-11-29T06:01:40.113 回答