【问题标题】:Any links to Service Broker best practices?任何指向 Service Broker 最佳实践的链接?
【发布时间】:2013-04-05 16:36:36
【问题描述】:

我正在寻找有关 Service Broker 最佳实践的任何权威文章。

特别是,我正在寻找以下主题(我知道答案,但必须找到支持该知识的文档):

  • 同一数据库中的队列
  • 消息
    • 尺寸
    • 消息只是一个指针并从表中检索数据的系统
  • 仪器 - 审计 Service Broker 应用程序

TIA

【问题讨论】:

  • 就我个人而言,我认为缺少有关 Service Broker 的有用“真实世界”信息,至少与 SSIS 等其他 SQL Server 功能相比。因此,如果您已经知道要遵循的最佳实践,您可能会考虑自己写一些好文章。
  • @Pondlife 我可能不得不这样做。我目前正在进行一个评估项目并且正在寻找好的链接,而不是使用“从我的经验”的角度,但我想我可以写一篇博客文章,让我在微软的朋友审查它,并将其用作“最佳实践”一文。 ;-)

标签: sql-server-2008 service-broker


【解决方案1】:

消息只是一个指针并从表中检索数据的系统

这不是 Service Broker 应用程序,只是一个排队应用程序。 Service Broker 主要是为分布式应用程序设计的,通信(网络、安全、路由、重试)是主要组件。如果您仅将消息作为指针发送并且数据在表中,那么 SSB 的分布式特性就会崩溃。 试金石是“我能否将我的服务转移到另一台服务器上,并且在修复路由后应用程序可以继续工作?”。如果答案是肯定的,那么您正在按照设计的方式使用 SSB。如果不是,则表示您只对队列感兴趣。

使用 SSB 作为“哑队列”的问题在于,这是一个非常昂贵的队列(想想由于对话和对话组而对每条消息所需的额外写入)。 RECEIVE 语句很昂贵,基本上是来自优化 pov 的黑匣子。您可以优化 table used as a queue 比使用 SSB 服务/队列做得更好。我认为 SSB 有一个优势,即使用作本地队列也很有吸引力,即internal activation 功能。有人可能会说激活不能用其他任何东西代替(我同意,它不能),但必须意识到成本并平衡利弊。

【讨论】:

  • 附言。我知道我的回答没有解决实际问题(“最佳实践的链接”)......
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2016-07-17
  • 1970-01-01
  • 1970-01-01
  • 2010-12-16
  • 2012-03-18
  • 1970-01-01
相关资源
最近更新 更多