Я рассматриваю возможность использования балансировщика сетевой нагрузки для сообщений о балансировке нагрузки между экземплярами моих подписчиков вместо использования распространителя NServiceBus (который, по сути, является просто программным балансировщиком нагрузки).У каждого экземпляра подписчика будет очередь с одинаковым именем для сообщений, подлежащих доставке, и будет виртуальный IP-адрес, который циклически перебирается между подписчиками.Издатель будет знать только о виртуальном IP-адресе и имени очереди.
Вот то, что я понимаю как плюсы и минусы этого:
- PROS
- Нетнеобходимо установить NServiceBus Distributor
- Еще одна вещь, которой нужно будет управлять / обновлять при масштабировании (мы уже используем F5 для балансировки нагрузки на этих машинах, и наш центр обработки данных покупает это как заднюю часть).с их стороны)
- Еще одна точка отказа (да, NLB может потерпеть неудачу, но давайте посмотрим правде в глаза, F5 будет намного более стабильным, чем NServiceBus Distributor, работающий на Windows)
- Нет необходимости иметь кластерный сервер, чтобы иметь наш кластерный MSMQ.2 сервера намного дороже, чем просто добавление другого VIP к F5.
- CONS
- Дистрибьютор NServiceBus позволяет вам более легко просматривать журнал невыполненных сообщений, посколькуэто единственная очередь на распространителе, которую вы можете отслеживать.Это позволяет легко узнать, когда вам нужно добавить больше рабочих узлов.
- Дистрибьютор NServiceBus умнее контролирует количество рабочих потоков и т. Д. Предоставляет ли вам больший контроль, чем NLB?(не уверен насчет этого)
Точно ли я это уловил?Я знаю, что рекомендуется использовать Дистрибьютор NServiceBus, и я хотел бы узнать больше о причинах, прежде чем идти против этой рекомендации.