什么是SQL Server中的Service Broker,在简单数据库中启用它是否有意义,而不是在分布式数据库中启用它?
答案 0 :(得分:15)
SQL Service Broker是一种扩展机制,允许您对事件进行排队以进行异步处理。
启用代理没有内在的危害,如果未使用它只会闲置。
它适用于简单和分布式DB。一个简单的用例是日志记录队列。我们在客户端使用它来排队xml消息以异步处理。因此我们将xml推送到InitatorQueue,然后让服务从队列中提取它们,通过xpath提取一些必要的属性,并将它们插入到我们数据库的持久性表中。
答案 1 :(得分:5)
Service Broker是内置于SQL Server数据库引擎中的消息传递系统。 这里有一些你可能会阅读的文章,看看它是如何运作的。
Centralized Asynchronous Auditing with Service Broker
Centralized Asynchronous Auditing across Instances and Servers with Service Broker
How to troubleshoot Service Broker problems
答案 2 :(得分:2)
Service Broker是一个异步消息系统。它允许您将消息发送到队列。然后一些工人进程接收消息。无法保证订单,或何时收到邮件。但SQL Server确实保证消息处理以事务方式发生。
异步消息传递是最重的架构之一。您应该仔细考虑附加值是否值得复杂。