我正在寻找有关Service Broker最佳实践的权威文章。
特别是,我正在寻找以下主题(我知道答案,但必须找到支持这些知识的文件):
TIA
答案 0 :(得分:1)
系统,其中消息只是一个指针,数据是从表中检索的
这不是Service Broker应用程序,只是一个排队应用程序。 Service Broker主要设计用于分布式应用程序,通信(网络,安全,路由,重试)是主要组件。如果您只将消息作为指针发送,并且数据在表中,则SSB的分布式特性会崩溃。 石蕊测试是“我可以将我的服务移到另一台服务器上,并且在修复路由后应用程序继续工作吗?”。如果答案是肯定的,那么你就像它的设计方式一样使用SSB。如果不是,那么你只对队列感兴趣。
将SSB用作“哑巴队列”的问题在于,这是一个非常昂贵的队列(只考虑由于会话和会话组而导致的每条消息所需的额外写入)。 RECEIVE语句很昂贵,基本上是优化pov的黑盒子。您可以比使用SSB服务/队列更好地优化table used as a queue。我认为SSB有一个袖子,即使用作本地队列,即internal activation能力,它也很有吸引力。有人可能会说激活不能用其他任何东西取代(我同意,它不能),但是必须要注意成本并平衡利弊。