Chris Simpson
Chris Simpson

Reputation: 8000

Round robin load balancing options for a single client

We have a biztalk server that makes frequent calls to a web service that we also host.

The web service is hosted on 4 servers with a DNS load balancer sitting between them. The theory is that each subsequent call to the service will round robin the servers and balance the load.

However this does not work presumably because the result of the DNS lookup is cached for a small amount of time on the client. The result is that we get a flood of requests to each server before it moves on to the next.

Is that presumption correct and what are the alternative options here?

a bit more googling has suggested that I can disable client side caching for DNS: http://support.microsoft.com/kb/318803

...however this states the default cache time is 1 day which is not consistent with my experiences

Upvotes: 1

Views: 1350

Answers (2)

Chris Simpson
Chris Simpson

Reputation: 8000

The solution we finally decided to go with was Application Request Routing which is an IIS extension. In tests this has shown to do what we want and is far easier for us (as developers) to get up and running as compared to a hardware load balancer.

http://www.iis.net/download/ApplicationRequestRouting

Upvotes: 1

Jake T.
Jake T.

Reputation: 631

You need to load balance at a lower level with NLB Clustering on Windows or LVS on Linux (or other equivalent piece of software). If you are letting clients to the web service keep an HTTP connection open for longer than a single request/response you still might not get the granularity of load balancing you are looking for so you might have to reconfigure your application servers if that is the case.

Upvotes: 4

Related Questions