Как первоначальный автор NServiceBus, я, вероятно, немного предвзято отношусь к моей собственной технологии, но я постараюсь сохранить это как можно более сбалансированным.
Транспортная поддержка
И NServiceBus, и MassTransit поддерживают RabbitMQ и служебную шину Azure , но NServiceBus также поддерживает:
По теме RabbitMQ
Можно привести аргумент, что NServiceBus имеет более сильную поддержку RabbitMQ - например, в своей функции отложенной доставки, в то время как Mass Transit заявляет, что их «плагин по-прежнему считается экспериментальным. Он поддерживается MassTransit, но мы не можем гарантировать ничего, кроме плагина. гарантирует себя ".
Мы также очень тесно сотрудничаем с командой RabbitMQ, внося свой вклад в SDK .net на благо всей экосистемы.
Что касается служебной шины Azure
Уровень нашего сотрудничества с командой служебной шины Azure еще выше, с более чем 70 PR для их SDK ядра .NET .
Когда вы используете NServiceBus, вы извлекаете выгоду из всей глубины этих знаний.
Инструменты
Это самая большая разница.
После того, как вы построили прочную систему, становится действительно важно видеть, как все различные движущиеся части взаимодействуют друг с другом. MassTransit не имеет ничего особенного в этой области, кроме небольшой интеграции через источник диагностики со сторонними инструментами, такими как Application Insights или Open Trace.
Сервисная платформа вокруг NServiceBus идет немного дальше, давая вам возможность видеть диаграммы последовательности на всех конечных точках с помощью ServiceInsight :
Вы также можете получить логическое представление обо всех ваших конечных точках и сообщениях:
По сути, вы получаете живую документацию по архитектуре вашей системы.
Управление и мониторинг
Это еще одна область, в которой у MassTransit не так много. Когда сторонняя система, с которой вы интегрируетесь, становится недоступной, а куча сообщений в вашей системе оказывается в очереди ошибок, у MassTransit есть единственное решение, позволяющее вручную переместить эти сообщения обратно позже с помощью плагина RabbitMQ Shovel .
Платформа обслуживания вокруг NServiceBus включает в себя мониторинг этой очереди ошибок, графические инструменты, чтобы увидеть, каковы причины этих ошибок, а также возможность воспроизводить группы этих неудачных сообщений и видеть, что они действительно были успешно обработаны в простом веб-приложении. называется ServicePulse .
Также существует визуализация периодических проверок работоспособности, которые могут обеспечить раннее предупреждение о проблемах до того, как сообщения начнут выходить из строя.
И, наконец, в платформе доступен мониторинг производительности:
Когда дело доходит до производственной поддержки, вы действительно получаете полный пакет.
Долгосрочная поддержка и обратная совместимость
Хотя специалисты по Mass Transit всегда очень хорошо помогали всем, у кого есть вопросы по этому поводу в Gitter или своей группе Google , я не думаю, что они исправляют ошибки в старых версиях. Когда ваши производственные системы существуют уже пару лет, и вы не можете просто постоянно обновлять все, это становится важным.
С поддержкой NServiceBus входит :
- 2+ года для каждой основной версии
- Дополнительные 2 года расширенной поддержки
- Гарантированное время ответа по критическим вопросам
- Доступность 24x7
Консультации и обучение
С точки зрения оффлайн, на NServiceBus есть общедоступные курсы, доступные по всему миру, а также множество консультантов, которых можно пригласить на место, чтобы запустить проект или помочь в случае возникновения проблем. Я слышал от нескольких компаний, которые решили перейти с MassTransit на NServiceBus, потому что они не могли найти кого-то на месте, когда им это было нужно.
Лицензирование
Что некоторые люди до сих пор не знают о NServiceBus, так это то, что он БЕСПЛАТНЫЙ для личного использования и стартапов .
Когда дело доходит до коммерческого использования , модели лицензирования NServiceBus очень гибкие, как показывает широкий спектр клиентов, и могут быть хорошо оправданы для руководства. Конечно, с MassTransit лицензирование бесплатное.
Надеюсь, что это каким-то образом поможет.