NServiceBus Как опубликовать сообщение из 2 физических местоположений 1 логического сервиса - PullRequest
1 голос
/ 25 февраля 2011

возможно ли опубликовать сообщение от 1 логической службы, развернутой в 2 физических местах?

как будет выглядеть файл конфигурации? Вы не можете добавить сообщение в свой подписчик 2 раза. но вы должны, если хотите подписаться на 2 очереди.

Ответы [ 3 ]

3 голосов
/ 25 февраля 2011

Это именно то, для чего предназначено хранилище подписных БД. Просто настройте обоих физических издателей на один и тот же sub.db, и все будет в порядке. Затем попросите подписчиков подписаться на один из них.

3 голосов
/ 25 февраля 2011

Да, это очень возможно.Мы делаем это прямо сейчас.Хитрость заключается в том, чтобы иметь общее или реплицированное хранилище подписок.Вот как это работает:

  1. Запрос на подписку (как определено в файле конфигурации приложения вашего подписчика) отправляется конечной точке издателя.
  2. Издатель добавляет запрос в свою подпискухранилище, которое часто является реляционной базой данных.
  3. Если база данных является общей / реплицированной, все конечные точки издателя будут знать о новом подписчике.
  4. Все конечные точки издателя смогут публиковать, и подписчик будетвозможность получить желаемое сообщение.
0 голосов
/ 25 февраля 2011

Я считаю, что это невозможно. В любом случае, вы можете найти своего рода диспетчера в середине.

Издатель отправляет сообщение непосредственно диспетчеру с помощью IBus.Send (), который, в свою очередь, публикует с помощью IBus.Publish ().

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