2011-12-01 11 views
5

Según el Pika documentation, "el intermediario RabbitMQ usa contrapresión TCP para ralentizar a su cliente si está entregando mensajes demasiado rápido". He registrado una devolución de llamada de contrapresión y aún no se ha llamado. Mi cola tiene más de 40 millones de mensajes y está creciendo. Al configurar el multiplicador de contrapresión en -1, puedo hacer que se invoque mi devolución de llamada en cada publicación de mensaje, pero eso solo es útil para la depuración.¿Cuándo usa rabbitmq la contrapresión de tcp?

Respuesta

4

No es realmente cuando "su cliente ... está entregando mensajes demasiado rápido", pero cuando cualquier cliente entrega mensajes demasiado rápido.

RabbitMQ monitorea la cantidad de memoria que está usando y ejercerá una contrapresión cuando pasa una cierta fracción de la memoria física en la máquina. Por defecto, esta fracción es 0.4, pero se puede cambiar. Ver http://www.rabbitmq.com/memory.html para más detalles.