【发布时间】:2011-07-18 12:34:59
【问题描述】:
我对 RabbitMQ 有一个严重的问题。在收到一定数量的消息后,消费者只是停止接收消息。他们仍然连接,但不再接收消息。我找到了关于这个问题的其他帖子,但没有一个有效的答案。
这是我使用的连接包装器:http://pastebin.com/XVY3HNGq。 我使用stormed-amqp,它是python的异步amqp库。
我尝试过使用不带 ack 或带 ack 且 qos 预取计数为 100 的消息(如对此类问题的多个响应所示)。
当我执行“rabbitmqctl list_queues name messages_ready messages_unacknowledged”时,我有很多就绪消息和使用 ack 时未确认消息的“预取计数”(100)值。
我真的不知道发生了什么! 谢谢你的回答。
【问题讨论】:
-
您找到解决问题的方法了吗?
-
您找到解决问题的方法了吗?这个话题很老了:D
-
经过一番研究,我们发现在消费者端有很多TCP ZeroWindow发送到rabbitmq。不知何故,TCP 缓冲区已满,消费者会告诉 rabbitmq 我们无法处理任何其他消息。我们仍在寻找解决方案,但至少我们知道哪里有问题。