标签: rabbitmq
我对RabbitMQ中的这两种消息感到困惑。
我看到我的一些队列中有0个“Unacked”和1000个“Ready”消息 其中一些有1000条“Unacked”,0条“Ready”信息。
它们之间有什么区别?
我觉得两者都是一样的。
我怎么知道消费者有多少消息被读取?
答案 0 :(得分:75)
等待处理的消息就绪。
当消费者连接到队列时,它会获得一批要处理的消息。该数量以预取大小给出。当这个消费者正在处理这些消息时,他们会获得未被许可的状态。
Unacked 表示消费者已承诺处理它们但尚未确认它们已被处理。当消费者崩溃时,队列知道当消费者上线时将再次传递哪些消息。当您有多个消费者时,消息将在其中分发。
答案 1 :(得分:4)
未确认: 用于数据安全注意事项。它保证可以到达对等方并成功处理。如果用户在消息处理之间丢失并且不确认Rabbit MQ。邮件不会丢失,并且可供消费者再次处理。