19

什么是 SQL Server 中的 Service Broker,在简单数据库中启用它是否有意义,而不是在分布式数据库中?

4

3 回答 3

28

SQL Service Broker 是一种扩展机制,允许您将事件排队以进行异步处理。

启用经纪人并没有内在的危害。如果不使用,它将只是闲置。

它适用于简单和分布式数据库。一个简单的用例是日志队列。我们在客户端使用它来对要异步处理的 XML 消息进行排队。因此,我们将 XML 推送到 InitatorQueue,然后让服务从队列中拉出它们,通过 XPath 提取一些必要的属性,并将它们插入到数据库中的持久性表中。

这是来自 Microsoft 的一个很好的参考

于 2010-05-18T12:40:46.760 回答
8

Service Broker 是内置在 SQL Server 数据库引擎中的消息传递系统。您可以阅读以下文章以了解其工作原理。

使用 Service Broker 进行集中式异步审计 使用 Service Broker
跨实例和服务器进行集中式异步审计
如何解决 Service Broker 问题

于 2010-05-18T12:43:07.357 回答
2

Service Broker 是一个异步消息传递系统。它允许您将消息发送到队列。然后一些工作进程接收消息。无法保证订单或何时收到消息。但 SQL Server 确实保证消息处理以事务方式进行。

异步消息传递是目前最繁重的架构之一。您应该仔细考虑附加值是否值得复杂性。

于 2010-05-18T13:10:45.083 回答