BizTalk 主机的高可用性

BizTalk Server在解决高可用性问题方面提供了极大的灵活性,因为可以战略性地将逻辑主机专用于运行特定功能领域,例如接收和发送消息或处理业务流程,这些区域可以物理部署到多个服务器。

BizTalk 主机是BizTalk Server组中的逻辑容器,可以容纳BizTalk Server项,例如适配器发送处理程序 (包括管道) 、接收位置和业务流程。 通常,您可将具有类似扩展属性的项分到特定的主机中。

创建主机后,可以将其作为主机实例部署到物理BizTalk Server计算机。 主机实例在指定的BizTalk Server计算机上作为 Windows 服务运行,BTSNTSvc.exe (或 BTSNTSvc64.exe 64 位主机实例) 。 对于每个主机,特定BizTalk Server计算机上只能有一个实例。 但是,可以在一台或多台BizTalk Server计算机上具有特定主机的实例,并且可以在特定BizTalk Server计算机上具有不同主机的实例。

BizTalk 主机中包含的项可以执行以下功能:

  • 正在接收。 在接收位置中提取消息后,这些项对其进行初始处理。 当主机包含接收项(例如接收位置 (管道) 时,消息解码和解密发生在主机内的管道中。

  • 正在发送。 在将消息发送给发送端口前,这些项对其进行最终处理。 当主机包含发送项(如发送端口)时,消息签名和加密将发生在主机内的管道中。

  • 正在处理。 这些项根据业务流程中的指令处理消息。

    一个 BizTalk 主机可以包含接收、发送和处理消息的项。 为了简化管理和可伸缩性,我们建议为每个函数创建不同的主机。 具体而言,我们建议使用不同的主机来处理和接收/发送操作。

    例如,如果您接收一条消息,运行业务流程,然后发送十条消息,则需要将接收功能和发送功能分隔到两个单独的主机中,因为发送项的流量将是接收项的十倍。 如果您接收一条消息,运行业务流程,然后发送一条消息,则可以将这些项视为一个工作单位,并将它们分到单个主机中。 或者,您可以将它们分到三个不同的主机中,以提高性能和灵活性,尽管这同时也增加了管理成本。

    BizTalk 主机是两种类型之一: 进程内独立。 进程内主机在 BizTalk Server 运行时进程 (BTSNTSvc.exe 或 BTSNTSvc64.exe) 中运行,独立主机不会在BizTalk Server运行时进程中运行。 独立主机仅在接收端用于独立接收适配器。 下表分别列出了这两种主机类型可能包含的项:

主机类型 逻辑容器包含
进程内 - 业务流程
- 适配器发送处理程序
- 进程内适配器接收处理程序
隔离 - HTTP、SOAP 接收处理程序
- 任何其他独立适配器接收处理程序

有关管理 BizTalk 主机和主机实例的详细信息,请参阅BizTalk Server帮助中的管理 BizTalk 主机和主机实例 (https://go.microsoft.com/fwlink/?LinkID=154191) 。

若要为 BizTalk 主机提供高可用性,环境中) 的两台或多台计算机上,每个主机 (必须有两个或更多个主机实例。 通过为每个主机提供多个主机实例,可以确保如果一个主机实例变得不可用,运行同一主机实例的其他计算机上的主机实例可以恢复有问题或失败的主机实例的功能,并且整个系统可以继续执行,并将中断降到最低。

其他主机的缺点

虽然创建其他主机实例有一些好处,但如果创建的主机实例过多,也有潜在的缺点。 每个主机实例都是 Windows 服务 (BTSNTSvc.exe 或 BTSNTSvc64.exe) ,它针对 MessageBox 数据库生成额外的负载,并消耗计算机资源,例如 CPU、内存和线程。 除此之外,以下原因导致未配置太多其他主机实例:

  • 每个主机报告了多个性能计数器,其粒度过高。 这会影响需要遍历大量数据的管理员的可用性。 这会对管理员的总体视图产生负面影响。

  • 每个主机消耗大量内存,这可能会导致限制和性能降低。

  • 如果主机接收持续执行轮询的适配器,则每个主机将短时间轮询数据库,从而导致性能下降。

本节内容

另请参阅

配置主机和主机实例配置专用跟踪主机规划以实现高可用性 2数据库高可用性主机密服务器的高可用性