Я бы порекомендовал держаться подальше от решений, скрученных вручную, поскольку есть куча довольно сложных вещей, которые необходимо решить правильно - например, как обрабатываются транзакции, как исключения вызывают откаты, как прекратить бесконечно откатываться (опасные сообщения), как интегрироваться с длительными рабочими процессами, чтобы границы управления состоянием совпадали, и многое другое.
Возможно, вам понадобится какая-то надежная / транзакционная инфраструктура обмена сообщениями, поэтому без использования 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
источник
Потенциальным недостатком чего-либо, основанного на MSMQ, является ограничение максимального размера сообщения. IIRC это примерно 4 МБ, с которыми вы можете легко столкнуться, если имеете дело с большими файлами и храните содержимое файла в сообщении.
источник