Dot-Net
NServiceBus 與 MassTransit
我正在為有關 NServiceBus 和 MassTransit 的優缺點列表而苦苦掙扎。
現在我知道這裡已經有一個執行緒,但它並沒有真正回答我的問題。
這是我到目前為止所讀到的:
- NServiceBus,是的,它已獲得許可,而且不是免費提供的。
- MassTransit,是的,它是開源的,但文件似乎有些欠缺。
NServiceBus 較舊,並且有更多參考。很難找到有關 MassTransit 的資訊,但我很開放。但是我必須提供一個可靠的解決方案,所以我不得不問。
所以,請有這兩個框架經驗的人。我為什麼要選擇 NServiceBus?或者 我為什麼要選擇 MassTransit?
是性能、安全性、規模還是?
如果我必須總結一下,這就是我要說的:
如果您需要商業支持,請選擇 NServiceBus。如果您對使用論壇作為支持手段感到滿意,MassTransit 是一個不錯的選擇。到目前為止,開發人員對我們的問題非常敏感。如果您選擇 MassTransit,現在您將在 MSMQ 和 RabbitMQ 之間進行選擇。如果您需要 DTC,請使用 MSMQ。如果您想要更多功能和更好的管理,請使用 RabbitMQ。
在我們的項目中,我們從 NServiceBus 切換到 MassTransit 有兩個原因:
- 大眾運輸是免費的
- 我們喜歡 RabbitMQ
這兩個框架我都用過。我使用 MassTransit 的時間比使用 NServiceBus 的時間長。這是我看到的亮點。
成本:
- MassTransit 獲得 Apache 2.0 許可,可免費用於商業生產用途,而 NServiceBus 則不是。
支持:
- 正如 Udi 提到的,有一個商業 NServiceBus 支持選項,我還沒有看到 MassTransit 支持。
運輸:
- MassTransit 支持 MSMQ 和 RabbitMQ
NServiceBus 僅支持 MSMQRabbitMQ 在 NServiceBus 4+ 中被支持RabbitMQ 與 MSMQ:
- MSMQ 支持 DTC(分佈式事務協調器),用於涉及潛在多台機器(例如 SQL 伺服器、Windows 服務)上的多個程序的事務
- RabbitMQ 具有出色的管理界面
- MSMQ 存在的時間更長,是 Microsoft 的產品
- RabbitMQ 是較新的、開源的、免費的,由 VMWare 贊助
- MSMQ 預設安裝在大多數 Windows 機器上
Udi Dahan 和 MassTransit 的人(Chris Patterson、Dru Sellers 和 Travis Smith)都是才華橫溢的人。