MassTransit 在 Azure 服务总线之上提供什么?

What does MassTransit offer on top of Azure Service Bus?

我正在尝试确定是否还需要在 Azure 服务总线之上使用 MassTransit 还是直接使用 ASB。我不打算使用 saga 或中间件等高级功能,但需要一个支持命令和 pub/sub 样式消息传递的简单 ESB。

关于选择传输的 MassTransit documention 仍在开发中。查看 ASB 文档,Azure 似乎提供的不仅仅是传输。

我没有使用其他 ESB 的经验,所以我不确定我需要哪些功能。

我正在寻找一些关于为什么我应该使用其中之一的指导。更具体:MassTransit 仅提供 ASB 就必须具备哪些(如果有)功能?

documentation article 描述了 MassTransit 添加到(任何)交通工具的内容。

我将在此处粘贴一些要点:

与使用原始传输 API 和从头开始构建所有内容相比,使用 MassTransit 进行消息传输的好处如下所示。这些只是少数,有些比其他的更重要。事实上,您的消费者、处理程序、sagas 等的托管都使用记录良好的生产就绪框架进行一致管理,这是最大的优势。

  • 并发
  • 连接管理
  • 异常、重试和有害消息
  • 序列化
  • 消息头和关联
  • 消费者生命周期管理
  • 基于类型的路由
  • Rx 集成(可观测值)
  • 单元测试变得简单(测试工具)
  • Sagas 和路由单
  • 计划
  • 监控性能计数器

基本上,只需几行代码,当使用 MassTransit 时,您可以非常快速和轻松地创建分布式系统,避免深入研究传输机制和所有涉及的样板代码,此外您还可以获得重试、异常处理、路由、sagas 等等。