Service Broker 伸缩性

适用于:SQL ServerAzure SQL 托管实例

Service Broker 旨在帮助数据库应用程序很好地扩展,无论是纵向扩展还是横向扩展。本主题提供用于设计利用 Service Broker 的应用程序的一般准则。

由于处理能力变得更强,因此 Service Broker 激活可以轻松地纵向扩展应用程序。 会话组锁定确保服务程序可以轻松避免最常见的源争用。

每个 Service Broker 应用程序都是一组可以独立操作的任务。 Service Broker 路由允许使用 Service Broker 的应用程序将服务移到其他实例中。 由于处理消息路由的是 Service Broker,而不是应用程序,因此,不需要更改应用程序代码,就可以将服务分派给不同的计算机。

在设计具有伸缩性的 Service Broker 应用程序时,请仔细考虑该应用程序中各任务之间的相互关系。 使用分隔清楚的任务构建的服务,通常在向上扩展和向外扩展方案中都是最成功的。 通常情况下,根据完成任务所需要的数据将任务划分为不同的服务。 如果两个相关任务修改的数据不同,请考虑将这些任务构建为不同的服务。 例如,尽管客户管理应用程序和配送应用程序都需要访问客户地址,但只有客户管理应用程序修改该地址。 在这种情况下,发送给配送应用程序的消息可以包含配送订货所必需的地址信息。 由于配送应用程序和客户管理应用程序不需要访问相同的表,因此这些任务可以清楚地分为不同的服务。

另请参阅