我需要知道rabbitmq中预取计数与无ack之间有什么区别?
还有 以下陈述有什么区别:-
如果我设置预取计数为 10,是否会创建 10 个消费者线程? 或者——
如果我注册 10 个消费者,它会创建 10 个线程吗?
以上哪种方式效率更高
最佳答案
专门针对 spring-amqp 回答这个问题。
prefetchCount=10
表示代理允许每个消费者最多 10 条未确认的消息;它不影响线程数。
使用concurrentConsumers
创建多个消费者 - 每个消费者都有一个线程。
自动确认意味着代理不需要确认(因此您可能会丢失消息)。如果监听器无法跟上,Spring AMQP 还会阻止传递(以预取计数)。
关于rabbitmq - rabbitmq中预取计数与无ack有什么区别,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39699727/