【发布时间】:2014-03-06 07:50:45
【问题描述】:
我尝试了解 AMQP 协议的某些方面。目前我有 RabbitMQ 项目并使用 python pika 库。所以问题是关于确认和消息预取。
假设我们有一个只有消费者的队列(确保该队列被声明为独占)。那么我是否理解正确:无论我是否使用 ack 标志消费?无论如何,我不应该能够同时处理多条消息,并且没有其他消费者可以接收一些其他仍在排队的消息。最好不要开启确认,因为这可能会减少 AMQP 服务器负载。
如果没有确认,预取计数没有任何意义。对吗?
我不确定预取是如何工作的。我对新消息进行了回调,并在其 finally 声明中确认或拒绝了该消息。这是唯一的功能,无论预取计数有多大 - 无论如何,在当前消息完成之前不会处理另一条消息。那么为什么我需要改变 prefetch_count 的值呢?
提前致谢。
【问题讨论】: