мониторинг потребителей rabbitmq

Из Production сообщается о нескольких случаях, когда консоль RabbitMQ показывала, что для очереди нет прослушивателя. Журналы из приложения, а также с сервера RabbitMQ не имеют соответствующей ошибки, указывающей на причину.

В качестве профилактики я изучаю, что предоставляет SimpleMessageListenerContainer, чтобы гарантировать, что потребитель в случае успешного создания/запуска/инициализации никогда не выйдет из строя.

Один из вариантов заключается в том, что я создаю демон мониторинга, который продолжает проверять количество активных потребителей, используя SimpleMessageListenerContainer.html#getActiveConsumerCount(), и если их количество меньше ожидаемого, то демон пытается восстановить их с помощью API doStart() или doInitialize().

Но прежде чем перейти к рассмотрению вышеприведенного варианта, я чувствую, что SimpleMessageListenerContainer уже обеспечивает это внутри. Это действительно так?


person gosachin1    schedule 09.02.2019    source источник


Ответы (1)


Контейнер автоматически перезапустит отказавших потребителей. Значит, причина вашей проблемы в чем-то другом. Посмотрите в журналы приложения (и сервера rabbitmq), чтобы увидеть, есть ли какие-либо подсказки относительно того, что произошло.

person Gary Russell    schedule 09.02.2019