【发布时间】:2015-11-02 03:27:30
【问题描述】:
我对 RabbitMQ 中的这两种类型的消息感到困惑。
我发现我的一些队列有 0 条“Unacked”和 1000 条“Ready”消息,而有些队列有 1000 条“Unacked”和 0 条“Ready”消息。
它们有什么区别?
我如何知道消费者阅读了多少条消息?
【问题讨论】:
标签: rabbitmq
我对 RabbitMQ 中的这两种类型的消息感到困惑。
我发现我的一些队列有 0 条“Unacked”和 1000 条“Ready”消息,而有些队列有 1000 条“Unacked”和 0 条“Ready”消息。
它们有什么区别?
我如何知道消费者阅读了多少条消息?
【问题讨论】:
标签: rabbitmq
消息在等待处理时就绪。
当消费者连接到队列时,它会收到一批要处理的消息。数量在预取大小中给出。当此消费者处理消息时,他们的状态为未确认。
Unacked 表示消费者已承诺处理它们,但尚未确认它们已被处理。当消费者崩溃时,队列知道消费者上线时要再次传递哪些消息。当您有多个消费者时,消息会在他们之间分发。
【讨论】:
Ready 消息由 RabbitMQ 收集。 Unacked 消息被消费者“触摸”,但相关工作尚未确认完成。