使用Service Brokers同时向两个服务发送消息

时间:2010-01-03 07:27:21

标签: sql-server service-broker

我可以使用服务代理将消息从一个服务发送到多个服务吗?

这样的东西
BEGIN DIALOG CONVERSATION @dialog_handle
   FROM SERVICE [SERVICE1]
   TO SERVICE 'SERVICE2',**'SERVICE3'**
   ON CONTRACT [MainContract] 

看一下语法,我认为我们不能做到这一点。有什么替代方案?

谢谢和问候

DEE

1 个答案:

答案 0 :(得分:2)

Service Broker中没有内置发布 - 订阅或多播。要向多个服务发送消息,您必须将其显式发送到每个目标和单独的对话框。

典型的解决方案是仅将一条消息从应用程序发送到充当分发者的服务。分发服务接收此消息并将其副本发送给每个感兴趣的服务(Service2,Service3等)。这样,应用程序不需要预先知道将消息发送到需要多少服务,它只是将其发送给分发服务。