使用Service Broker向外部应用程序发出通知的缺陷

时间:2013-04-10 14:15:52

标签: service-broker

我的要求大致类似于this question

我需要集成两个第三方应用程序(即我无权访问任一应用程序的代码)。

  • App2需要知道App1上的更新子集(用户在App1上做了“x” - 不感兴趣;用户做了“y” - 在App2上调用一系列动作)。至少在开始时,交互可能只是从App1到App2的通知。

  • App1与SQL Server绑定(不能假设为Enterprise); App2可能正在使用任何d / b平台,但可以配置为扩展到SQL Server表或日志或其他非db文件。

  • 当两端都在线时,解决方案需要是实时的或接近的;如果接收端(App2)关闭,它将需要在可用时赶上。

  • 我们的客户从几百个用户到几万个,因此解决方案需要扩展(实际上可能意味着App1的多个实例通知单个App2实例)。

  • 解决方案需要限于配置,而不是代码。

经过一番挖掘后,我想出了以下内容:

适当的桌子上的D / b触发器 - > Service Broker - >激活中间数据库中的存储过程 - >中间数据库中的表(App2可以从中获取所需的数据)

但是,相关问题(以及那里提到的问题)中有关于Service Broker对此类问题的不利之处的暗示,但没有解释这些可能是什么。任何人都可以指出这种解决方案的潜在问题(包括任何非常明显的解决方案,因为这不是我熟悉的技术而且我没有DBA背景 - 我花了两周时间才意识到我无法解决这个问题。两端都有一个SQL Express d / b)。

提前致谢...

2013年4月18日编辑添加:

我没有来自SSBDiagnose的错误,并且SB调用从测试过程成功执行,但没有任何东西到达另一端。如果我尝试查询sys.transmission_queue,查询将挂起。任何人都知道问题可能是什么?

0 个答案:

没有答案