使用 Service Broker 编程的好处

适用范围:SQL ServerAzure SQL 托管实例

如今,许多数据库应用程序都需要队列和异步消息传递。 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 应用程序。