2

我们正在计划一个 Biztalk 2009 设置,其中我们有 2 个 Biztalk 应用程序服务器和 2 个数据库服务器(数据库服务器位于主动/被动集群中)。所有服务器都运行 Windows Server 2008 R2。

作为我们应用程序的一部分,我们将通过 MSMQ、FILE 和 SOAP 适配器接收传入流量。我们还需要高可用性和负载平衡。

假设我创建了两个不同的 Biztalk 主机,并将 FILE 接收处理程序分配给第一个,并将 MSMQ 接收处理程序分配给第二个。我现在为两台主机中的每台创建两个主机实例(即,我的两台物理服务器各一台)。

在查看了 Biztalk 文档之后,这是我目前所知道的:

  • 对于 FILE(接收),高可用性和负载平衡将由 Biztalk 自动实现,因为我在组中的两台服务器中的每台服务器上都设置了一个主机实例。

  • MSMQ(接收)需要 Biztalk 主机集群来确保高可用性(但是主机集群也需要设置 Windows 故障转移集群)。这里没有明确的负载平衡选项。

  • SOAP(接收)需要 NLB 来实现负载平衡和高可用性(如果一台服务器出现故障,NLB 会将流量引导到另一台服务器)。

这是我完全困惑的地方,我迫切需要你的帮助:

  • 是否可以在两台应用服务器上同时设置 Windows 故障转移群集和 NLB?
    • 如果是,那么请告诉我如何。
    • 如果不是,那么请向我解释,当 MSMQ 和 SOAP 的基础先决条件相互排斥时,他们是如何实现高可用性和负载平衡的!


非常感谢您的帮助,
M

4

1 回答 1

3

Microsoft 不支持在同一台服务器上运行 NLB 和 MSCS

“这两个组件在单独的计算机上运行的两层或三层应用程序模型中可以很好地协同工作。请注意,在同一台计算机上运行这两个组件不受支持,并且由于群集服务和网络之间潜在的硬件共享冲突,Microsoft 不建议这样做负载均衡。” http://support.microsoft.com/kb/235305

如果要为 BizTalk 中收到的 SOAP 请求提供 HA,则应将 BizTalk 服务器配置为处于同一 BizTalk 组中的 Active/Active 配置(无 MSCS)。完成此操作后,您将在这两者之间安装一个配置 NLB。您的客户端将能够通过 NLB 集群查询 Web 服务,并且 NLB 服务会将请求路由到集群中的特定服务器(您的 asmx 文件应在两台服务器中安装和配置)。

关于 MSMQ,到目前为止您获得的信息是正确的,确保此适配器的 HA 的唯一方法是集群 BizTalk 服务器。如果您也想实现这一点,那么您必须为 SOAP 接收主机和 MSMQ 主机提供单独的基础架构。

这种情况的主要原因是 BizTalk 隔离主机不支持群集,因此 BizTalk InProcess 主机可能全部挂起,而隔离主机永远不会知道它并会继续接收请求。

我目前正在设计一个非常相似的架构,所以如果您想分享更多评论或问题,您可以通过 ignacioquijas@hotmail.com 与我联系

Ignacio Quijas Microsoft Biztalk 服务器专家

于 2010-04-24T18:07:22.903 回答