2011-12-01 5 views
5

Pika documentation에 따르면 "RabbitMQ 브로커는 메시지를 너무 빨리 전달하는 경우 TCP Backpressure를 사용하여 클라이언트의 속도를 줄입니다." 배압 콜백을 등록했으며 아직 호출되지 않았습니다. 내 대기열에 4 천만 개가 넘는 메시지가 있으며 점점 커지고 있습니다. 배압 배율을 -1로 설정하면 모든 메시지 발행시 콜백을받을 수 있지만 디버깅에만 유용합니다.rabbitmq는 언제 tcp 배압을 사용합니까?

답변

4

"클라이언트가 너무 빨리 메시지를 전달하는 경우"가 아니라 클라이언트가 너무 빠른 메시지를 배달 할 때가 아닙니다.

RabbitMQ는 사용중인 메모리 양을 모니터링하고 시스템의 물리적 메모리의 특정 부분을 초과하면 배압을 발휘합니다. 기본적으로이 비율은 0.4이지만 변경할 수 있습니다. 자세한 내용은 http://www.rabbitmq.com/memory.html을 참조하십시오.