Связь DirectMessageListenerContainer и SimpleMessageListenerContainer с каналами кролика - PullRequest
0 голосов
/ 03 февраля 2020

При использовании DirectMessageListenerContainer с consumerPerQueue свойство 25, я заметил, что 25 кроличьи каналы создаются за очередь подписавшегося контейнера слушателя. В наших настройках количество каналов кролика быстро выходит из-под контроля, так как в контейнер слушателя динамически добавляется больше очередей. Нам пришлось увеличить лимит канала брокера, чтобы учесть рост канала.

  1. Какова связь между каналами и потребителями в DirectMessageListenerContainer. Из моих наблюдений кажется, что это 1 канал на потребителя.
  2. Предлагает ли DirectMessageListenerContainer какой-либо пул / рециркуляцию / ребалансирование каналов, чтобы контролировать рост каналов. Специально для очередей, которые в основном бездействуют.
  3. Простой SimpleMessageListenerContainer обрабатывает пулы каналов по-разному, поскольку может динамически изменять размер счетчика потребителей.

1 Ответ

1 голос
/ 03 февраля 2020
  1. DML C использует отдельный канал для каждого потребителя.

  2. Нет.

  3. SML C использует один канал на concurrentConsumers; начиная с 2.0 каждый канал используется для нескольких потребителей (когда прослушивается более одной очереди).

Однако динамическое добавление или удаление очередей намного менее эффективно с SML C потому что потребитель (ы) отменяются и воссоздаются при внесении изменений.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...