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