规划高可用性

提高 BizTalk Server 的高可用性主要在于恢复那些可能导致 BizTalk Server 部署中断的功能组件。

若要在 BizTalk Server 中演示高可用性,必须导致故障并衡量产品在恢复中的有效性。 高度可用的 BizTalk Server 部署使错误和故障对外部应用程序和系统透明,并确保所有服务在最小中断的情况下继续正常运行。

设计提供高可用性的 BizTalk Server 部署涉及为应用程序集成或业务流程集成方案中涉及的每个功能组件实现冗余。 BizTalk Server 通过从概念上将数据与处理数据的 主机 分离来简化这些方案的实现。 主机是 BizTalk 项的逻辑容器,例如业务流程、发送处理程序和接收处理程序。 创建 主机实例 并将其分配给主机。 主机实例是特定服务器上的主机的物理表示形式。 它要么是名为 BTSNTSvc.exe 的 BizTalk Server 服务进程,要么是其他进程,例如 IIS 进程。 因此,为 BizTalk Server 提供高可用性涉及运行多个 主机实例 和群集 BizTalk Server 数据库,如下所示:

  • BizTalk 主机的体系结构。 BizTalk Server 使你可以分离主机并运行多个主机实例,为关键功能(例如接收消息、处理业务流程和发送消息)提供高可用性。 这些主机不需要任何其他群集或负载均衡机制,因为 BizTalk Server 通过主机实例自动跨多台计算机分配工作负荷。 但是,运行 HTTP 和 SOAP 适配器接收处理程序的主机需要负载均衡机制(例如网络负载均衡(NLB)来提供高可用性,并且运行 FTP、MSMQ、POP3、SQL 和 SAP 接收处理程序的主机需要群集机制来提供高可用性。

    注释

    必须始终对 SAP 接收适配器进行群集,以适应两阶段提交方案。

  • BizTalk Server 数据库的体系结构。 BizTalk Server 数据库的高可用性配置通常由在主动/被动服务器群集配置中配置的两台或更多台 SQL Server 数据库计算机组成。 这些计算机共享通用磁盘资源(例如 RAID 1+0 SCSI 磁盘阵列或存储区域网络),并使用 Windows 故障转移群集提供备份冗余和容错。

    另一个对于高可用性至关重要的 BizTalk 功能组件是主机密服务器。 BizTalk Server 依赖于此服务来获取加密密钥。

    本部分提供有关如何解决上述每个类别中的高可用性的信息。 由于 BizTalk Server 高可用性解决方案是在 Windows 和 SQL Server 上构建的,因此在为 BizTalk Server 配置主机之前,请确保部署这些产品具有高可用性。 以下链接包括有关为这些基础产品提供高可用性的信息:

  • 高可用性解决方案 (SQL Server)](/sql/sql-server/failover-clusters/high-availability-solutions-sql-server)

  • Windows Server 中的故障转移集群

了解组件故障的影响

下表列出了 BizTalk Server 环境的组件和依赖项,以及组件或依赖项失败时对 BizTalk Server 环境的影响。 在决定是否群集组件或依赖项时,应考虑潜在故障的范围。

组件或依赖项 故障范围
SQL Server 全系统 如果 SQL Server 失败,BizTalk Server 将无法处理文档。
主密钥服务器 系统范围内 如果主机密服务器失败,BizTalk Server 将无法处理文档。
注意: 如果主机密服务器失败,BizTalk 组中的每个 BizTalk 服务器将继续使用主机密的缓存内存中副本,直到重新启动 BizTalk 服务器上的企业 SSO 服务。 如果在 BizTalk 服务器上重启企业 SSO 服务,则主机密的缓存副本将从内存中释放,BizTalk 服务器必须能够联系主机密服务器以获取主机密的另一个副本。 如果主机密服务器发生故障,并且希望 BizTalk 服务器继续处理文档,请不要在组中重启 Enterprise SSO 服务。
MSDTC Server。 如果 MSDTC 失败,则需要事务支持的服务器中的任何组件都将失败。
注意: 由于 SQL Server 和主机密服务器依赖于 MSDTC 进行事务支持,因此如果 SQL Server 上的 MSDTC 或主机密服务器上的 MSDTC 失败,故障范围将变为系统范围。 BizTalk Server 在运行时作期间与 SQL Server 和主机密服务器通信时需要事务支持。
BizTalk 主机实例 Server。 如果主机实例失败,则 BizTalk 主机实例中驻留的任何组件都将无法参与文档处理。
Microsoft 消息队列(MSMQ) Server。 如果 MSMQ 失败,则依赖于 MSMQ 服务(如 MSMQ 适配器)的任何文档处理都将在服务器上停止。
文件系统 Server。 如果文件系统失败,则依赖于文件系统的任何文档处理(如文件适配器)都将在服务器上停止。

为了更好地管理高度可用的 BizTalk Server 系统,必须充分了解 BizTalk 堆栈:Windows Server、DC(DNS、DHCP)、BizTalk Server、SQL Server、IIS 服务器、文件服务器、MSMQ 服务器、外部应用程序。 本部分重点介绍 BizTalk Server 和依赖 SQL Server 计算机的高可用性。

BizTalk Server High-Availability 示例

有关 Microsoft BizTalk Server 中通过横向扩展主机层提供高可用性的示例方案,请参阅 示例 BizTalk Server 高可用性方案

另请参阅

BizTalk 主机的高可用性
数据库的高可用性
主机密服务器的高可用性
清单:使用灾难恢复提高可用性