Quand est-ce rabbitmq utilisation tcp contrepression?
Question
Selon le Pika documentation « le courtier RabbitMQ utilise TCP Backpressure pour ralentir votre client si elle émet des messages trop vite « . Je me suis inscrit un rappel et de contre-pression n'a pas encore appelé. Ma file d'attente a des messages plus de 40 millions et il est de plus en plus. En réglant le multiplicateur de contre-pression à -1 je peux obtenir mon rappel à être appelé à chaque message publier, mais c'est seulement utile pour le débogage.
La solution
Il est pas vraiment quand « votre client ... RÉALISE messages trop vite », mais quand un client délivre des messages trop vite.
RabbitMQ surveille la quantité de mémoire qu'il utilise et exercer une contre-pression quand il va sur une certaine fraction de la mémoire physique sur la machine. Par défaut, cette fraction est de 0,4, mais il peut être changé. Voir http://www.rabbitmq.com/memory.html pour plus de détails.