nServiceBus против Mass Transit против служебной шины Rhino против других?
-
05-07-2019 - |
Вопрос
Просто сделайте несколько быстрых подсказок о возможном использовании системы обмена сообщениями для обработки файлов, которые находятся в хорошо отделенной системе рабочего процесса.
Какие плюсы и минусы люди нашли в использовании каждой из вышеперечисленных платформ? Каковы преимущества их использования по сравнению с системой MSMQ, созданной вручную, с привязками WCF и / или решениями, не относящимися к MSMQ?
Решение
Я бы рекомендовал держаться подальше от накатанных вручную решений, поскольку есть куча довольно сложных вещей, которые нужно правильно понять - например, как обрабатываются транзакции, как исключения вызывают откат, как перестать бесконечно откатываться (яд сообщения), как интегрироваться с длительными рабочими процессами, чтобы выровнять границы управления состоянием, и многое другое.
Скорее всего, вам понадобится какая-то инфраструктура долгосрочного / транзакционного обмена сообщениями, поэтому, не используя MSMQ, вы останетесь с Service Broker на платформе Microsoft или какой-либо другой альтернативой, такой как ActiveMQ. Преимущество MSMQ заключается в том, что он уже установлен на всех компьютерах Windows, в отличие от Service Broker, который этого не делает.
С точки зрения выбора между NServiceBus, Mass Transit и Rhino Service Bus этот ответ Stackoverflow сравнение NServiceBus с MassTransit будет быть хорошим местом для начала ..
В нашем выпуске 3.1 мы представляем NSB Studio - набор интегрированных инструментов моделирования Visual Studio, которые позволяют вам моделировать вашу систему на более высоком уровне абстракции и позволяют выполнить большую часть конфигурации и инициализации NServiceBus. автоматически. Я бы сказал, что это действительно склоняет чашу весов в пользу NServiceBus.
Надеюсь, это поможет.
Отказ от ответственности: я являюсь автором NServiceBus.
Другие советы
NServiceBus - хороший продукт, но остерегайтесь проблем с лицензированием. Он имеет тенденцию менять свою лицензионную политику по желанию авторов. Посмотрите, например, на информацию о старой лицензии.
Может случиться, что в процессе разработки проекта вы обнаружите, что должны заплатить много денег за NServiceBus. Р>
Также бесплатная версия имеет ограничения по производительности.
MassTransit является абсолютно бесплатным открытым исходным кодом, не имеет ограничений и находится под лицензией Apache 2.0.
Я не использовал служебную шину Rhino .
Обновление состояния Rhino vs NServicebus:
http://www.infoq.com/news/2012/04/ nservicebus3-0 р>
InfoQ для Ayende: Вы ранее написали служебную шину для .NET себя, а именно Rhino Service Bus. Должны ли пользователи Rhino Service Автобус теперь пересмотреть и перейти на NServiceBus?
Ayende: я построил Rhino Service Bus около 2008 года. Я построил его в основном потому что я не был доволен состоянием других сервисных автобусов в время. У меня были разные проблемы и направления при создании моего служебный автобус, но это было 4 года назад. В то время я думаю, что NServiceBus добился больших успехов в становлении более простым в использовании продуктом и иметь намного лучшую из истории развития коробки. Если я был начиная с обслуживания автобусов сегодня, я сильно сомневаюсь, что я бы строить свой собственный.
потенциальным недостатком всего, что основано на MSMQ, является ограничение на максимальный размер сообщения. IIRC - это приблизительно 4 МБ, с которыми вы можете легко столкнуться, если вы имеете дело с большими файлами и храните содержимое файла в сообщении.