Biztalk Server 2009-故障转移群集和网络负载平衡(NLB)

Biztalk Server 2009-故障转移群集和网络负载平衡(NLB),biztalk,load-balancing,high-availability,biztalk-2009,nlb,Biztalk,Load Balancing,High Availability,Biztalk 2009,Nlb,我们计划在Biztalk 2009中设置2台Biztalk应用程序服务器和2台DB服务器(DB服务器位于主动/被动群集中)。所有服务器都运行Windows Server 2008 R2 作为我们应用程序的一部分,我们将通过MSMQ、文件和SOAP适配器获得传入流量。我们还需要高可用性和负载平衡 假设我创建了两个不同的Biztalk主机,并将文件接收处理程序分配给第一个主机,将MSMQ接收处理程序分配给第二个主机。现在,我为两台主机中的每台创建两个主机实例(即,为我的两台物理服务器中的每台创建一个

我们计划在Biztalk 2009中设置2台Biztalk应用程序服务器和2台DB服务器(DB服务器位于主动/被动群集中)。所有服务器都运行Windows Server 2008 R2

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

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

在查看Biztalk文档之后,我知道以下内容:

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

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

  • SOAP(Receive)需要NLB来实现负载平衡和高可用性(如果一台服务器宕机,NLB将把流量引导到另一台服务器)

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

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

非常感谢您的帮助,

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

“这两个组件在单独计算机上运行的两层或三层应用程序模型中工作良好。请注意,在同一台计算机上运行这两个组件是不受支持的,Microsoft不建议这样做,因为群集服务和网络负载平衡之间可能存在硬件共享冲突。”

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

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

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

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

伊格纳西奥·奎哈斯
Microsoft Biztalk Server专家

快速说明。如果需要NLB,则不需要依赖Windows NLB。您可以设置网络设备以负载平衡SOAP/HTTP接收端口。通过这种方式,您可以使用集群为您的服务提供HA。此外,如果存在双服务器/双主机实例的情况,则必须对某些适配器进行集群。如果在两个不同的主机实例上运行FTP接收,将获得文件的两个副本。祝你好运!谢谢你,克里斯。硬件负载平衡场景实际上非常有趣,因为客户端不太可能希望为SOAP和MSMQ投资单独的基础设施。谢谢你的意见。