RabbitMQ”啥是“Ready”和“Unacked”类型的消息?
Posted
技术标签:
【中文标题】RabbitMQ”啥是“Ready”和“Unacked”类型的消息?【英文标题】:RabbitMQ" What are "Ready" and "Unacked" types of messages?RabbitMQ”什么是“Ready”和“Unacked”类型的消息? 【发布时间】:2015-11-02 03:27:30 【问题描述】:我对 RabbitMQ 中的这两种类型的消息感到困惑。
我发现我的一些队列有 0 条“Unacked”和 1000 条“Ready”消息,而有些队列有 1000 条“Unacked”和 0 条“Ready”消息。
它们有什么区别?
我如何知道消费者阅读了多少条消息?
【问题讨论】:
【参考方案1】:消息在等待处理时就绪。
当消费者连接到队列时,它会收到一批要处理的消息。数量在预取大小中给出。当此消费者处理消息时,他们的状态为未确认。
Unacked 表示消费者已承诺处理它们,但尚未确认它们已被处理。当消费者崩溃时,队列知道消费者上线时要再次传递哪些消息。当您有多个消费者时,消息会在他们之间分发。
【讨论】:
值得一提的是,即使没有单个消费者,消息也已准备好(等待)。Ready
消息由 RabbitMQ 收集。 Unacked
消息被消费者“触摸”,但相关工作尚未确认完成。【参考方案2】:
取消确认: 它用于数据安全注意事项。它保证到达对等点并成功处理。万一消费者在消息处理过程中丢失并且不确认 Rabbit MQ。消息不会丢失,可供消费者再次处理。
【讨论】:
以上是关于RabbitMQ”啥是“Ready”和“Unacked”类型的消息?的主要内容,如果未能解决你的问题,请参考以下文章