首页 > 解决方案 > 使用 MassTransit 路由到开发环境

问题描述

我正在尝试使用 MassTransit(与 Azure ServiceBus)连接两个进程,但也允许从本地环境开发这些服务中的任何一个,并将路由发生在该本地环境中。

所以非开发数据流将是:

  1. ServiceA(在 EnvironmentA 中)将 EventA 发送到 ServiceB(在 EnvironmentA 中)
  2. ServiceB(在 EnvironmentA 中)将 EventB 发送到 ServiceA(在 EnvironmentA 中)

然后当开发人员想要在 ServiceA 上进行调试时,数据流变为:

  1. ServiceA(在EnvironmentB中)将 EventA 发送到 ServiceB(在 EnvironmentA 中)
  2. ServiceB(在 EnvironmentA 中)将 EventB 发送到 ServiceA(在EnvironmentB中)

有很多方法可以设置它,但我假设有人已经解决了这个问题。

例如,您可以有两个 Subscription,而不是一个 Subscription,每个环境一个,每个 Subscription 都有一个在“To”属性中查找特定值的 Subscription Rule。当ServiceA发送消息时,它在消息中指定一个“ReplyTo”属性,然后ServiceB监视“ReplyTo”并将其放入返回消息中的“To”属性中。但是,我不知道如何从 MassTransit 设置此订阅规则。

  1. ServiceA(在 EnvironmentB 中)将 EventA(带有“ReplyTo=EnvironmentB”)发送到 ServiceB(在 EnvironmentA 中)
  2. ServiceB(在 EnvironmentA 中)将 EventB(带有“To=EnvironmentB”)发送到 ServiceA(在 EnvironmentB 中)

标签: azureservicebusmasstransit

解决方案


推荐阅读