Я пытаюсь отключить два приложения, используя EDA и NServiceBus.В настоящее время у меня есть MT для продажи и MT для инвентаря.Всякий раз, когда продажа запрашивается через MT продаж, перед тем, как она будет одобрена, MT продаж будет вызывать MT инвентаризации, чтобы убедиться, что есть в наличии запас.Я хочу изменить способ, которым это работает, чтобы торговый MT просто автоматически одобрил его и опубликовал асинхронное событие «SaleCreated», на которое затем будут подписаны MT инвентаризации и MT биллинга.В этом случае Inventory MT может пометить продажу в автономном режиме, если есть какие-либо товары, отсутствующие на складе.
Моя проблема в том, что у меня есть 10 экземпляров моего Sales MT, 5 экземпляров моего Inventory MT и3 экземпляра моего биллинга MT.Все 3 приложения имеют собственный виртуальный IP поверх LoadBalancer, который находится перед серверами 10/5/3.В общем, у меня есть 1 виртуальная публикация (события SaleCreated) и 2 виртуальные подписки (подписчики Inventory и Billing).В идеале, продажа, которая обрабатывается MT продаж, должна создавать сообщение о событии SaleCreated для отправки на 1 и только 1 инвентарный MT, и 1 и только один платежный MT.Я действительно запутался, как это будет работать, так как я не видел примеров этого сценария на сайте NServiceBus.Кроме того, я не хочу, чтобы все сообщения отправлялись одному дистрибьютору для каждой подписки, поскольку это приведет к узкому месту на одной машине.
Есть ли способ сделать это?