In my BizTalk environment, I have two application servers that are connected to same SQL Server Message Box(i.e. they are part of a single group). I am looking for high availability and automated fail over options for BizTalk application. We do not have shared storage(SAN) so I am assuming we cannot create a Windows Server Cluster (is this assumption correct?), the only option left is NLB clustering that comes with Windows 2008 but can NLB allow an automated restart of a BizTalk service (or for that matter any windows service) on a secondary computer if the primary fails?

Generically, is it recommended to used NLB clustering with BizTalk when BizTalk has its own load balancing?

Thanks.

有帮助吗?

解决方案

Yes, NLB across a servers in a group is still very useful in BTS as it will allow synchronous receive adapters like WCF to benefit from NLB. This will allow you to drainstop the BIztalk servers one at a time in order to redeploy, and restart hosts, without affecting the clients of the Web services exposed by Biztalk. You can then give web client systems the NLB ip or hostname to send requests to.

IMO Clustering is essential only for

  • Receive adapters which pull (and which don't work correctly if 2 or more host instances are polling the same receive location / queue etc), like msmq
  • The underlying SQL servers

There is a more thorough discussion here

Note however that you shouldn't rely on NLB for failover at an application / port level - (e.g. a receive adapter stops working) - NLB only works at a server level - as long as the NLB service continues running on the server, it regards it as 'up'. You need to use a monitoring tool like SCOM for this.

Edit Also check out this excellent answer by David Hall on high availability scenarios in BizTalk.

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top