用 Service Broker 编程的优点

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