回答

1

队列和异步消息今天需要许多数据库应用 。 Service Broker提供了一个新的基于队列的持久消息框架来解决这些需求。使用Service Broker提供的Transact-SQL API ,您可以轻松开发服务来处理排队或异步通信的应用程序需求 。

一些与服务代理程序的好处是:

灵活的开发:在一个分布式 应用中使用的程序可以用多种语言书写的。每个程序 都提供了每个分布式应用程序组件的功能。

改进的安全性:您可以通过 证书表达安全要求,因此应用程序组件不需要共享相同的 安全上下文。 Service Broker使用SQL Server安全特性 帮助您保护您的应用程序。

事务性处理:消息处理发生在SQL Server 事务中以确保数据完整性。 Service Broker通过与数据库的标准连接支持远程 事务消息传递。

保证排序:Service Broker的提供了强有力的保证 关于一组相关的消息 一次,以及按顺序的传递和处理,所以不需要额外的编码即可 提供此功能。

可靠交付:对话所需的所有数据 - 一组 两个或多个服务之间的相关通信 - 持续存在于SQL Server中。 Service Broker支持集群和数据库镜像。 可以通过系统重启,服务器 故障切换,网络中断等保持对话而不会失败或丢失数据。

改进的可扩展性:Service Broker路由在服务名称上提供基于 的消息,而不是运行服务的 计算机的网络地址。这使您可以在多台计算机上安装 应用程序,而无需更改应用程序代码。

利用现有知识的能力:Service Broker使用Transact-SQL创建对象的方式使用 。使用Service Broker 的应用程序通常在Transact-SQL或Microsoft .NET中实现。框架兼容语言。您无需学习新的 语言即可创建Service Broker应用程序。

如需进一步详细检查此链接 http://dotnet.dzone.com/articles/c-sqldependency-monitoring

当我们想在数据库中做异步处理
+0

+1 SQL依赖项 – Nilish

0
  1. 服务经纪人是有用的。这会提高性能。
  2. 当我们需要数据库间的通信。

你可以找到使用服务代理here创建和发送消息的示例代码。