在rabbitmq中预取计数与无ack之间有什么区别

Aks*_*hat 2 rabbitmq spring-rabbit spring-amqp

我需要知道在rabbitmq中prefetch count与no ack之间的区别是什么?

以下陈述之间有什么区别: -

如果我设置了预取计数,那么10会创建10个消费者线程吗?要么 -

如果我注册10个cosumers它会创建10个线程吗?

以上哪项更有效

Gar*_*ell 6

为spring-amqp专门回答这个问题.

prefetchCount=10表示经纪人为每个消费者提供最多10条未包装的消息; 它不会影响线程数.

使用concurrentConsumers创建多个消费者-这将有每一个线程.

auto ack意味着代理不需要确认(因此您可以丢失消息).如果监听器无法跟上,Spring AMQP还会阻止交付(预取计数).