RabbitMQ” 什么是 "Ready" 和 "Unacked" 类型的消息?

RabbitMQ" What are "Ready" and "Unacked" types of messages?

我对 RabbitMQ 中的这两种类型的消息感到困惑。

我发现我的一些队列有 0 "Unacked" 条和 1000 条 "Ready" 条消息,而有些队列有 1000 条 "Unacked" 条和 0 "Ready" 条消息。

它们有什么区别?

我怎么知道消费者阅读了多少消息?

一条消息在等待处理时就绪

当消费者连接到队列时,它会收到一批要处理的消息。该数量在预取大小中给出。当此消费者正在处理消息时,他们的状态为未确认。

Unacked表示消费者承诺处理,但未确认处理。当消费者崩溃时,队列知道当消费者上线时哪些消息将被再次传递。当您有多个消费者时,消息会在他们之间分发。

Un-acknowledgment: 它用于数据安全考虑。它保证到达对等点并成功处理。以防消费者丢失 in-between 消息处理并且不确认 Rabbit MQ。消息不会丢失并可供消费者再次处理。