RabbitMQ队列偷看

Pra*_*zzy 9 rabbitmq

我是RabbitMQ的新手,我对管理插件中的get messages选项有疑问.它说"点击'获取消息''将消耗来自队列的消息.如果设置了重新排队,消息将被重新添加到队列中,但是不会保留排序并且将设置'redelivered'."

这篇文章

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

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

谢谢


我得到了RabbitMQ团队的回复.这是他们说的......

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

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

管理插件似乎没有得到更新.我会解决这个问题.谢谢你指出来.

干杯,西蒙

- Simon MacMullen RabbitMQ,VMware

the*_*yer 1

管理插件错误。

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

谨防副作用。

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