Может ли NServiceBus иметь две конечные точки с разными обработчиками для получения разных событий RabbitMQ? - PullRequest
0 голосов
/ 30 апреля 2020

У нас есть две конечные точки NServiceBus в. Net Core 3.1 сервисе, использующем RabbitMQ в качестве транспорта. Мы используем две конечные точки, так как мы подписываемся на разные события из разных экземпляров Rabbit. У нас есть обработчики событий, созданные для определенных c событий от каждой из служб RabbitMQ.

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

From:
Event1
nsb.delay-delivery
     ||
This Exchange
     ||
To:
Queue1

Проблема в том, что вторая конечная точка не получает ту же настройку привязки обмена. Код для создания конечных точек одинаков, поэтому мы не уверены, что идет не так или как его отлаживать. Вот как выглядит второй обмен:

From:
nsb.delay-delivery
   ||
This exchange
  ||
Queue2

Отсутствует в иерархии привязок Event2. Если мы go рассмотрим обмен на Event2, то для нашей Queue2 не настроена маршрутизация.

Мы сравнили файлы * -configuration.txt, которые записаны в каталог .diagnostics нашего сервиса. , но мы не видим разницы между журналами для двух конечных точек. При тестировании наш сервис получает события от Queue1 в наших обработчиках. Мы никогда не видели, чтобы наши обработчики запускались для Queue2.

Кто-нибудь успешно настроил службу, которая может обрабатывать события из двух разных служб RabbitMQ с двумя разными конечными точками? Каков наилучший способ go отладки этого? Документация NServiceBus немного ограничена в этой части.

...