Потребители RabbitMQ не суммируются

#rabbitmq #spring-amqp

#rabbitmq #spring-amqp

Вопрос:

У нас есть Java-приложение, которое получает сообщения от rabbitmq с использованием Spring AMQP. Для некоторых очередей количество потребителей не увеличивается, что приводит к снижению скорости доставки сообщений. например, несмотря на то, что максимальное количество потребителей установлено на 50, количество потребителей оставалось 6 большую часть времени при загрузке 9000 сообщений.

Однако это не относится к другим очередям. т. е. Количество потребителей достигло 35 для других очередей.

Мы используем API setMaxConcurrentConsumers от SimpleMessageListenerContainer от SimpleMessageListenerContainer для настройки максимального количества потребителей.

Может кто-нибудь, пожалуйста, помочь мне понять это?

Конфигурация:
количество одновременных потребителей: 4
максимальное количество одновременных потребителей: 50

Ответ №1:

Задавая подобные вопросы, вы всегда должны показывать конфигурацию. Отредактируйте свой вопрос с полной информацией.

Это зависит от вашей конфигурации. По умолчанию новый потребитель добавляется только один раз каждые 10 секунд и только в том случае, если существующий потребитель получает 10 сообщений без каких-либо пробелов.

Если это все еще не отвечает на ваш вопрос, включите ведение журнала ОТЛАДКИ. Если вы не можете понять это из этого, опубликуйте журнал (продолжительностью не менее startConsumerMinInterval миллисекунд) где-нибудь, например, в pastebin или dropbox.

Комментарии:

1. Спасибо за ответ, Гэри! Я обновил вопрос с конфигурацией, которую мы используем. С 9000 сообщениями в очереди, не следует ли добавить больше потребителей, чтобы увеличить скорость доставки сообщений? С 6 потребителями скорость доставки составляла 0,60 / с. Можем ли мы предположить, что каждый потребитель доставлял со скоростью 0,10 / с (1 мс / 10 сек)? При этом сообщения накапливались в очереди. В любом случае, я попытаюсь воспроизвести этот сценарий с включенным уровнем отладки.