【问题标题】:How to interop with Azure Service Bus topics created by MassTransit using Rebus?如何与 MassTransit 使用 Rebus 创建的 Azure 服务总线主题进行互操作?
【发布时间】:2017-10-20 03:06:08
【问题描述】:

我有一个现有系统,它通过 MassTransit 将消息发布到名为 CompanyName.SystemName.Messages.SomethingGotUpdated 的某个 Azure 服务总线 主题。如何使用 Rebus 配置新系统成为该特定主题的订阅者,然后将所有消息路由到适当的 IHandleMessages<SomethingGotUpdated> 处理程序?

我查看了文档,但无法真正弄清楚如何完成此操作。非常感谢任何帮助!

【问题讨论】:

    标签: c# azureservicebus masstransit rebus azure-servicebus-topics


    【解决方案1】:

    您应该通过创建一个基于 MassTransit 的接收器来实现,该接收器接收来自给定主题的消息,然后将消息(通过使用 Rebus 的one-way client)转发到您的 Rebus 端点。

    您应该这样做的原因是,MassTransit 和 Rebus 最有可能以稍微不同的方式使用 Azure 服务总线,并且消息上的标头也非常不同,这意味着这两个服务总线不会很容易连接-兼容。

    有些人可能会想以某种方式解决此类问题,可能是通过在 incoming messages pipeline 中插入一个将 MassTransit 标头映射到 Rebus 标头的步骤,但我担心您甚至不会执行您的步骤因为 Rebus 需要一个特定的消息 ID 头存在,否则它会立即将消息移动到错误队列中。

    我的建议是,将基于 MassTransit 的系统视为自己的东西,就好像它使用完全独立的网络进行通信一样,然后将基于 Rebus 的部件也视为自己的系统。

    【讨论】:

      猜你喜欢
      • 2018-09-01
      • 2019-09-14
      • 2016-04-28
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多