RabbitMQ 在 ACK 之后顺序接收消息

RabbitMQ receive messages sequentially after ACK

我希望获得以下模式以使用 RabbitMQ 接收消息 "sequentially"。我使用 Node.js 框架作为消费者。

假设队列中有 3 条消息,我需要这种模式:

接收 msg#1 -> 处理 -> 发送 ACK -> 接收 msg#2 -> 处理 -> 发送 ACK 接收 msg#3 -> 处理 -> 发送 ACK

但是正在发生的事情是 node.js 消费者并行接收所有 3 条消息,RabbitMQ 等待单个 ACK​​ 返回以从队列中删除消息。这不是连续的。

我的队列是持久的,需要 ACK。有什么我想念的吗?

请帮忙!

找到答案了。我必须设置预取计数。在上面的场景中必须将 prefetch 设置为 1.