【问题标题】:RabbitMQ Queue peekingRabbitMQ 队列偷看
【发布时间】:2013-04-19 15:05:24
【问题描述】:

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

This article

rabbit 的下一个版本(v2.6.1 之后)顺序将不会 在重新排队消息时被销毁。消息将重新排队到 队列的前面,这意味着您可以“窥视”队列的头部 队列。您可以使用管理界面或使用 AMQP 客户这样做。

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

谢谢


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

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

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

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

干杯,西蒙

-- 西蒙·麦克马伦 RabbitMQ,VMware

【问题讨论】:

  • 可能最好的办法就是自己测试一下。这应该不会太难完成,只需在消息正文中添加一个递增数字即可。我也很想知道这一点。
  • 我用 100 多条消息测试了同样的方法,它有效!

标签: rabbitmq


【解决方案1】:

管理插件错误。

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

小心副作用。

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-06-14
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多