【问题标题】:what is the difference between azure-sb and @azure/service-bus?azure-sb 和 @azure/service-bus 有什么区别?
【发布时间】:2019-08-08 13:52:29
【问题描述】:

我想创建一个 nodejs Azure 服务总线客户端来读取主题,并且我希望我的客户端自动注册其订阅。

所以@azure/service-bus 允许正常使用 SB,但不允许创建订阅。 azure-sb 确实允许创建一个并在总线上运行。

我需要在我的 nodejs 应用程序中同时安装这两者吗?两者似乎都是微软的官方软件包,但是,我想知道两者的预期用途和预期的未来是什么(一个会取代另一个吗?)

【问题讨论】:

    标签: node.js azure azureservicebus azure-servicebus-topics


    【解决方案1】:

    简单地说,azure-sb 是用于管理 Service Bus 的旧 SDK,而 @azure/service-bus 是新 SDK。

    这两个包有一些区别:

    • 协议azure-sb 是对 Service Bus REST API(HTTP 协议)的封装,而 @azure/service-bus 使用 AMQP 协议与 Service Bus 通信。
    • 功能azure-sb 允许您通过允许实体(队列、主题和订阅)对其执行 CRUD 操作来使用它们。这些功能已从@azure/service-bus 中删除,因为 Microsoft 通过对这些操作强制执行 RBAC 将这些 CRUD 操作移至控制平面下。要执行这些操作,您需要使用@azure/arm-servicebus@azure/service-bus 包更适合发送和接收消息。如果您需要,它还支持Websockets

    我需要在我的 nodejs 应用程序中同时安装这两者吗?两者似乎都是官方包 来自微软,但是,我想知道两者的预期用途是什么 和预期的未来(一个会取代另一个吗?)

    考虑到您的要求,我的回答是肯定的。您将需要这两个软件包。我不确定这是否会导致任何问题。在我们的项目中,我们最终直接实现了 REST API(而不是使用 azure-sb 包)对实体进行 CRUD 操作,并使用 @azure/service-bus 处理消息。

    关于@azure/service-bus 最终将取代azure-sb 包,我纯粹是在猜测,但我认为这不会很快发生。为此,Service Bus 团队必须首先删除 REST API,这似乎不太可能,但 Microsoft 正在实体级别努力推动 RBAC,因此如果您刚开始使用,我建议您使用 @azure/arm-servicebus@azure/service-bus

    【讨论】:

      猜你喜欢
      • 2021-06-30
      • 2017-05-26
      • 2017-04-05
      • 1970-01-01
      • 1970-01-01
      • 2016-04-08
      • 1970-01-01
      • 1970-01-01
      • 2019-02-04
      相关资源
      最近更新 更多