2010-04-24 138 views
2

我们计划在Biztalk 2009中设置2台Biztalk应用服务器和2台数据库服务器(DB服务器位于主动/被动群集中)。所有服务器都运行Windows Server 2008 R2。Biztalk Server 2009 - 故障转移群集和网络负载平衡(NLB)

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

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

审查在BizTalk文档之后,这是我目前所知:

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

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

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

这是我完全摸不着头脑,我迫切需要你的帮助:

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


你的帮助是极大的赞赏,
中号

回答

3

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

“这两个组件的协同工作以及两层或三层应用程序模型运行在不同的计算机上请注意,在同一台计算机上运行这两个组件是不受支持的,并且由于潜在的硬件共享冲突en群集服务和网络负载平衡“。 http://support.microsoft.com/kb/235305

如果您希望为BizTalk中接收到的SOAP请求提供HA,则应该将BizTalk服务器配置为在同一BizTalk Group中处于主动/主动配置(无MSCS)。一旦你这样做,你在这两者之间安装一个配置NLB。您的客户将能够通过NLB群集查询Web服务,NLB服务会将请求路由到群集内的特定服务器(您的asmx文件应该在两台服务器上安装和配置)。

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

此情形的主要原因是BizTalk隔离主机不能识别群集,因此BizTalk InProcess主机可能全部挂起,隔离主机永远不会知道它并且会继续接收请求。

我目前正在设计一个架构非常相似的,所以,如果你想分享更多的意见或问题,你可以在[email protected]

伊格纳西奥Quijas 微软的BizTalk Server专家

+0

快速记我联系。如果您需要NLB,则不需要依赖Windows NLB。您可以设置一个网络设备来负载平衡SOAP/HTTP接收端口。通过这种方式,您可以使用群集为您的服务提供HA。另外,如果您有双服务器/双主机实例情况,则必须对某些适配器进行群集。如果您在两个不同的主机实例上运行FTP接收,您将获得该文件的两个副本。祝你好运! – 2010-04-29 02:04:53

+0

谢谢克里斯。硬件负载平衡方案实际上非常吸引人,因为客户不太可能投资于单独的SOAP和MSMQ基础架构。感谢您的输入。 – FullOfQuestions 2010-04-29 15:10:52