在处理程序中使用不同的传输协议创建nservicebus iBus的实例。 MSMQ到Azure

时间:2014-01-29 22:53:32

标签: azure nservicebus nservicebus4

我们有一个运行MSMQ的现有servicebus,它消耗了一个需要向Azure上运行的总线发布命令的事件。

我们正在向外界展示azure,并为内部消息保留msmq。

我已经尝试新建一个只发送总线的实例来完成这个但是没有运气,一些指针/代码示例将非常感激。


修改

我还没有找到这个问题的答案,我现在的解决方法是设置一个web api,它承载运行Azure作为传输协议的nservicebus。所以我的MSMQ消费者将调用api,api将向Azure总线发送命令。根本不理想......但这是我能想到的。


EDIT2

创建了与网关配置略有不同但相关的问题: Nservicebus msmq to azure queue using gateway

2 个答案:

答案 0 :(得分:0)

我已将所有评论汇总到此答案中。增加了更多。

尝试使用NServiceBus gateway进行站点间通信。

Gateway是多个站点之间的桥梁。每个站点都可以选择自己的排队技术。唯一需要共同的是序列化器。 (虽然这已被记录为错误)。

当文章说http / https是目前唯一支持的渠道类型,但Azure / Amazon SQS等云网站计划在未来使用时,它仅涉及桥接技术。一旦有Azure(或Amazon SQS)网关通道,就不需要中间HTTP(S)步骤。

目前的例子:
a)SiteA上的MSMQ Q => HTTPS频道=> SiteB上的Azure Q
b)SiteA上的MSMQ Q => HTTPS频道=> SiteB上的SQL Q

未来的例子:
a)SiteA上的MSMQ Q => Azure通道,它也是SiteB上的Azure Q b)SiteA上的MSMQ Q => Azure频道=> SiteB上的SQL Q

通道是指网关使用的传输协议。端点使用的排队技术无关紧要。

答案 1 :(得分:0)

Yves Goeleven将here放在一起的例子。