2016-09-30 6 views
0

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

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

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

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


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

ответ

0

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

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

Если это еще не ответит на ваш вопрос, включите ведение журнала DEBUG. Если вы не можете понять это, опубликуйте журнал (охватывающий не менее startConsumerMinInterval миллисекунд) в каком-то месте, таком как pastebin или dropbox.

+0

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