Мы используем nServiceBus в нашей среде разработки, где у нас есть интерфейс, публикующий сообщения для службы (подписчика). Жизнь хороша.
FrontendWebServer -> MiddlewareServer
В нашей производственной среде мы будем запускать два внешних интерфейса и два сервера промежуточного программного обеспечения для аварийного переключения.
FrontendWebServer -> LoadBalancer (F5) -> MiddlewareServer
FrontendWebServer -> LoadBalancer (F5) -> MiddlewareServer
Это хорошо работает для URL-адресов, но поскольку нам нужно использовать имена компьютеров для MSMQ, мы застряли.
Мы не хотим указывать физическое имя машины промежуточного программного обеспечения в каждой конфигурации внешнего интерфейса (потому что это усложняет управление конфигурациями, и если один из серверов промежуточного программного обеспечения выйдет из строя, он также остановит отправку сообщений его конкретному интерфейсу).
Мы пробовали использовать дистрибьютор nServiceBus (установленный на каждом интерфейсе), но кажется, что подписчик может слушать только одного дистрибьютора.
Есть идеи, как обойти эту проблему без использования отдельных конфигураций?