Когда rabbitmq использует противодавление tcp?

Согласно документации Pika "брокер RabbitMQ использует TCP Backpressure для замедления вашего клиента, если он слишком быстро доставляет сообщения". Я зарегистрировал обратный вызов, и он еще не вызван. В моей очереди более 40 миллионов сообщений, и она растет. Установив множитель противодавления на -1, я могу получать вызов при каждом публиковании сообщения, но это полезно только для отладки.

1 ответ

Решение

Дело не в том, когда "ваш клиент... доставляет сообщения слишком быстро", а в том, когда какой-либо клиент доставляет сообщения слишком быстро.

RabbitMQ следит за объемом используемой памяти и будет создавать противодавление, когда оно превышает определенную долю физической памяти на машине. По умолчанию эта доля равна 0,4, но ее можно изменить. См. http://www.rabbitmq.com/memory.html для получения более подробной информации.

Другие вопросы по тегам