How to Cluster Host Instances in BizTalk

This post goes through the steps to create clustered host instances in BizTalk.

Index

Why do I want to cluster Host Instances?

A BizTalk Group (more than one BizTalk Server) is an Active-Active setup. Which means that it can process messages simultaneously on both servers, internally it handles messages, so you don’t end up which duplicates etc. However, some adapters or protocols in BizTalk can’t really handle this.

Let’s take the FTP adapter as an example. The FTP adapter can’t be setup, so it runs efficient in an Active-Active environment, you might end up with duplicated or incomplete messages if you use the FTP adapter. To solve this problem, you can create a BizTalk Host Instance that is clustered. That means that the instance the FTP adapter is running on is an Active-Passive set up. It will only run on one BizTalk Server at a time and prevent any duplications or errors caused by several BizTalk servers trying to do the same thing. And if the BizTalk Servers fails that the clustered Instance is running on, it will failover to the next BizTalk Server and that server can complete any unfinished messages.

Back to Index.


About BizTalk Hosts

A BizTalk host is like a class in an object-oriented language. It is a set of virtual ‘configurations’ that explains the behaviour of what is being created from it (instantiated).

It is a logical container that explains the boundaries for the run-time how to handle things in the OS running the BizTalk Applications.

Some BizTalk vocabulary here, BizTalk separates the hosts into two types: In-process Hosts and Isolated Hosts.

In-process means that BizTalk itself is responsible for the run-time of whatever is running in that instance of the Host.

However, for some adapters, they make use of systems outside BizTalk, like web adapters relying on the local IIS web server. Isolated Hosts are used for scenarios like this, they are made so they can be used with e.g. the run-time of IIS.

Here is an image showing how the default Hosts looks like in BizTalk:

biztalk host instances

Back to Index.


About Host Instances

The Hosts are just logical containers as mentioned above. But once an instance is created from the Host, a service is created on the server. You can see an example here:

BizTalk Host Instances

This service will be the run-time container for the BizTalk adapters, locations, orchestrations etc. assigned to it.

Note. That this is for the in-process hosts. Isolated host instances rely on e.g. the service for IIS.

Back to Index.


How to create a BizTalk Host

Go into the BizTalk Server Administrator Console. Under Plattform Settings, choose Hosts and right click in the right pane to choose New Host…

create BizTalk Host

A properties windows will open:

Host properties

The naming of the host shown here is a fairly common convention. You name it if it will be clustered or not, if it is 32 or 63 bit and what is supposed to be used for.

Note. Naming the host with receive is not an option in the properties, it is just a convention to help the developer to see what it is supposed to be used for.

Back to Index.


How to create a BizTalk Host Instance

Go into the BizTalk Server Administrator Console. Under Plattform Settings, choose Hosts Instance and right click in the right pane to choose New Host Instance…

Bts Host Instances

A properties windows will open:

Host instances properties

Here you can choose which Host to create an instance from. Under configure, you choose which account the host instance will be running on.

Create a Host Instance of the Host, one for each server in your BizTalk Group.

When you are done, it looks something like this:

Host instances

Back to Index.


Cluster Host Instance in BizTalk

When you have at least two host instances, running on different servers, you can cluster these instances. We will look at how this is done.

First, create an empty Role in Cluster Failover Manager (see previous blogposts):

create role in failover manager

Name it as you please. I named mine simply BizTalk.

Now, go back to BizTalk Administration Console and go to Hosts. Right click on the Host you want to cluster.

cluster hosts

Now, choose the name of the empty role you created in the Failover Manager:

cluster host instances

When you click on OK, the instance will be registered in the Failover Manager as a resource in the cluster role:

clustered host service

Back to Index.


Summary

In this post we looked at why and how to create clustered host instances in BizTalk.

Back to Index.


References

Back to Index.

Leave a Reply

Your email address will not be published. Required fields are marked *

This site uses Akismet to reduce spam. Learn how your comment data is processed.