I have two biztalk servers configred against the same databases. I want to use the FTP adapter and I want to ensure that the target file only gets downloaded once. I don't think this solution provides much in the way of high availability, BUT, would configuring a host (MyFTPHost) on only one of the servers, and then having my receive location (whose configuration would be seen by both servers) use the receive handler of the MyFTPHost ... would that result in only that one server polling the FTP site? and therefore the file only gets downloaed once?
Cool! Thanks Greg! I do plan on getting the Biztalk servers clustered eventually (when we upgrade to 2009) but for now, since we have NLB in place to manage the load between these two servers this should suffice.
Clustering is only required for those receive adapters that can only run on a single host. These hosts would run as active-passive.For other hosts load balancing makes more sense, like HTTP and WCF. In this case you can run these hosts as active-active.
If your MyFTPHost host instance is configured to run on only one server, then you will only receive the file once.
The high availability solution is to cluster your Biztalk servers and have the MyFTPHost service fail-over if the server running your host instance fails. i.e. you have the MyFTPHost host instance configured on both servers but have it running on one and stopped on the other. The cluster software will manage starting and stopping each service as required.