【问题标题】:RabbitMQ queue messagesRabbitMQ 队列消息
【发布时间】:2013-08-09 05:23:21
【问题描述】:

在 rabbitMQ Web 界面的 queue 选项卡上,我看到了“Overview”面板,我在其中找到了这些:

排队的消息:

  • 准备好了
  • 未确认
  • 总计

我猜“总”消息是什么。但是什么是“就绪”和“未确认”? “就绪” - 传递给消费者的消息? “未确认” - ?

消息率:

  • 发布
  • 交付
  • 重新交付
  • 确认

这些信息是什么?特别是“重新交付”和“确认”?这是什么意思?

【问题讨论】:

    标签: rabbitmq amqp


    【解决方案1】:

    准备好了
    是可传递的消息数。

    未确认
    是服务器等待确认的消息数(如果客户端收到消息但尚未发送确认)。

    总计
    是就绪消息和未确认消息的总和。


    关于您的第二个问题:

    发布
    这是传入 RabbitMQ 服务器的消息的速率。

    交付
    这是响应 basic.consume 的需要确认的消息的传递速率。

    承认
    客户端/消费者确认消息的速率。

    重新投递
    设置了“redelivered”标志的消息被传递的速率。例如,如果您没有收到已发送消息的确认消息,您将再次发送此消息。

    【讨论】:

    • 这与帮助对话框中的几乎相同。 @Rene你能澄清一下“准备好”的数字是什么意思吗?在我的情况下,我看到这个数字在增加,但它再也没有回落,它只是在我们完成了一些任务后趋于平缓。一切似乎都按预期运行,打赌图表只是反复上升并变平。
    • @RicoSuave “就绪”表示您的队列中有多少消息。小例子:如果你将 100 条消息推送到队列,total 和 ready 的大小将是 100。如果你从这个队列中消费(没有确认)20 条消息,你有 80 条消息准备好了,20 条消息未确认,总共有 100 条消息。如果您现在从这 20 条消费消息中确认只有 10 条,那么其他 10 条消息将在给定时间后再次准备好。这意味着您现在已经准备好 90 个,总共有 90 个。您的情况对我来说听起来您将更快的消息发布到队列然后使用它们。