Microsoft.ServiceBus.Messaging 对比 Microsoft.Azure.ServiceBus

Microsoft.ServiceBus.Messaging vs Microsoft.Azure.ServiceBus

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 one 中没有的内容:

  1. Open Source。新库是完全开源的。您可以在不设置符号服务器的情况下浏览、进入(在下一个版本中)、贡献并简单地查看工作原理。
  2. 与 .netframework 库相反,新库是真正异步的。
  3. 减少了职责量和代码大小。例如,MessageBrokeredMessage。您的数据不再由客户端序列化。
  4. 默认为 AMQP 而不是 SBMP。
  5. 新客户目标 .NET Standard and Full Framework
  6. 重新设计了某些客户端方面以提供更好的选项(OnMessage API 以提供更多失败上下文,plugins and extensibility, interfaces 以便于测试)。
  7. Fully tested.

性能方面,如果不是更好的话,它应该与旧客户端相当。

A very useful feature of the Microsoft.ServiceBus.Messaging , is the message pump, built on top of OnMessage() method.

您仍然有 OnMessage API,但重命名为 RegisterMessageHandler