我正在使用Java Client 3.5.6 for RabbitMQ。
我的用例是这样的: 我有10-15个通道到一个队列(大多数是相同的连接,每个通道一个连接没有区别)。
我没有autoAck
就得到它们。每个频道的预取/ QoS大小为5000.所以我们假设我有30个频道,所以我可以获得150000条消息。
每一分钟,我都会计算一些东西,当成功时,我会使用basicAck
来确认这些消息。
但是,管理网络接口在该阶段显示传递了0条消息,这是不切合实际的,除非这些消息以某种方式“阻止”。
我在3节点集群上使用此队列作为HA队列,TTL设置为1800秒。节点通过内部局域网连接,机器非常强大,内存充足。
我的问题: 为什么这个basicAck操作会阻止其他操作,例如发布或传递新消息?