1

服务经纪人

  1. 使用 Service Broker 进行编程有什么好处?
  2. 在什么情况下应该使用 Service Broker?
  3. 您是否有代码/视频的示例链接可以轻松/准确地解释其用法?
4

2 回答 2

1

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

使用 Service Broker 进行编程的一些好处是:

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

提高安全性:您可以通过证书表达安全要求,因此应用程序组件不需要共享相同的安全上下文。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 Framework 兼容语言实现。您不必学习一门新语言来创建 Service Broker 应用程序。

有关更多详细信息,请查看此链接 http://dotnet.dzone.com/articles/c-sqldependency-monitoring

于 2012-05-17T05:29:38.110 回答
0
  1. 当我们想在数据库中进行异步处理时,服务代理很有用。这将提高性能。
  2. 当我们需要数据库间通信时。

您可以在此处找到使用服务代理创建和发送消息的示例代码。

于 2016-02-28T18:36:37.413 回答