문제

According to the Pika documentation "the RabbitMQ broker uses TCP Backpressure to slow your client if it is delivering messages too fast." I've registered a backpressure callback and it has yet to be called. My queue has more than 40 million messages and it's growing. By setting the backpressure multiplier to -1 I can get my callback to be called on every message publish, but that's only useful for debugging.

도움이 되었습니까?

해결책

It's not really when "your client... is delivering messages too fast", but when any client is delivering messages too fast.

RabbitMQ monitors the amount of memory it's using and will exert backpressure when it goes over a certain fraction of the physical memory on the machine. By default this fraction is 0.4, but it can be changed. See http://www.rabbitmq.com/memory.html for more details.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top