【发布时间】:2011-12-01 01:57:45
【问题描述】:
根据Pika documentation,“如果客户端传递消息太快,RabbitMQ 代理会使用 TCP 背压来减慢客户端的速度。”我已经注册了一个背压回调,它还没有被调用。我的队列有超过 4000 万条消息,而且还在增长。通过将背压乘数设置为 -1,我可以在每次发布消息时调用回调,但这仅对调试有用。
【问题讨论】:
根据Pika documentation,“如果客户端传递消息太快,RabbitMQ 代理会使用 TCP 背压来减慢客户端的速度。”我已经注册了一个背压回调,它还没有被调用。我的队列有超过 4000 万条消息,而且还在增长。通过将背压乘数设置为 -1,我可以在每次发布消息时调用回调,但这仅对调试有用。
【问题讨论】:
实际上并不是“您的客户端...传递消息太快”,而是任何客户端传递消息太快。
RabbitMQ 监控它正在使用的内存量,并在它超过机器上物理内存的特定部分时施加背压。默认情况下,该分数为 0.4,但可以更改。详情请见http://www.rabbitmq.com/memory.html。
【讨论】: