Dot-Net

Microsoft.ServiceBus.Messaging 與 Microsoft.Azure.ServiceBus

  • August 25, 2017

MS 最近引入了Microsoft.Azure.ServiceBus命名空間。

<https://github.com/Azure/azure-service-bus/blob/master/samples/readme.md>

它適用於新的**.net 標準**框架(好像 MS 沒有足夠的半冗餘程式碼庫)

我的問題是,它在性能方面能好多少?

我可以自信地說, Microsoft.ServiceBus.Messaging有很多不足之處,特別是在持久接收方面。

Microsoft.ServiceBus.Messaging的一個非常有用的特性是消息泵,它建立在**OnMessage()**方法之上。

新庫沒有這個,並且需要在每個收據上重新綁定事件處理程序以保持抽水。絕對是退步了。

尋找任何有這兩種經驗並可以比較的人的回饋。

為了解決您的問題,.netstd 庫提供的 .netframework 中沒有的內容:

  1. 開源。新庫是完全開源的。您可以瀏覽、進入(使用下一個版本)而無需設置符號伺服器、貢獻並簡單地查看事情是如何工作的。
  2. 與 .netframework 庫相比,新庫真正非同步。
  3. 減少責任和程式碼大小。例如,MessageBrokeredMessage. 您的數據不再由客戶端序列化。
  4. 預設情況下是 AMQP,而不是 SBMP。
  5. 新客戶端面向.NET Standard 和 Full Framework
  6. 重新設計了某些客戶端方面以提供更好的選項(OnMessage API 提供更多故障上下文、外掛可擴展性介面以便於測試)。
  7. 全面測試

性能方面,如果不是更好的話,它應該與老客戶相提並論。

Microsoft.ServiceBus.Messaging 的一個非常有用的特性是消息泵,它建立在 OnMessage() 方法之上。

您仍然擁有 OnMessage API,但已重命名為RegisterMessageHandler.

引用自:https://stackoverflow.com/questions/45873327