Load balancing Domino web based applications between clustered servers


Based on a question asked in Lotusphere Gurupalooza, I thought it may be
useful to flesh out some details on load balancing the Domino HTTP service
and any applications that you want available over a browser but require
fault tolerance.
Clustering Domino servers in a notes environment is very straightforward.
 As two Domino servers are clustered, the are constantly sharing any
alterations to databases with each other.  This uses the cluster replicator
task (clrepl) to "push" changes in databases to other members
of the cluster.  In the case where one of the servers becomes unavailable,
or reaches its peak load, the Notes client is "cluster aware"
out of the box and will

(a): automatically detect that the server it is interacting with is a member
of a cluster and
(b): locate and move to the database on another server that is a member
of that cluster.

The cluster method in Domino far outweighs hardware based clustering technology
as it is not dependant on similar hardware, similar build versions or even
similar OS underlays.  This feature is a massive advantage to Lotus
as it "simply works" using the network level replication technology
that Lotus have been working with for years.  Of course, when the
client is not  notes , but a browser, you have to consider that these
clients are not "cluster aware" and will not redirect to another
server.  How do you address this?

4 Comments »

  1. Greg Walrath Said,

    February 1, 2005 @ 10:53 pm

    Are you aware of any load-balancing hardware (like the Cisco solution) that is Domino-aware? We’re currently using an old Cisco LocalDirector, and it’s better at the failover than the load-balancing piece. I don’t know of any hardware that does QoS checks on the servers its serving.

    We’re trying to switch to the Cisco SLB’s, which comes as part of their 6000-series modular core routers, but we ran in to a snag, and haven’t done this yet.

  2. Paul Mooney Said,

    February 2, 2005 @ 2:04 pm

    Hi Greg. Funnilly enough, a customer site of ours using CLD is having the same issue. “Domino aware” should not really come into consideration as the redirection should be based on a response to a GET hit (every 5 seconds from the LB). Can you mail me your hardware details and rough outline of the amount of users. I will be happy to help once I find out the problem on this site and get a resoloution.

  3. Fitzy Said,

    February 2, 2005 @ 2:38 pm

    Tis not load balancing , but failover .. And something I’ve been trying to work out how to do for a while now. Decided to post it in Notes.Net again, and asked in the dev lab for the third year in a row at Lotusphere

    http://www-10.lotus.com/ldd/nd6forum.nsf/DateAllThreadedweb/1abebb7b3d9a298c85256f9b00596fa7?OpenDocument

  4. Paul Mooney Said,

    February 2, 2005 @ 3:40 pm

    hmmm. Interesting issue. Shall meditate on this on the way home from sunny Belfast tonight. My post above really focuses on the web load balancing issue but yours is a good one.

    One thought that comes to mind is attempting to do this at the port level, using routers to monitor traffic (if from server IP address, allow accross the WAN – if from user IP range, block unless IP of cluster server is not available???) Anyone else any thoughts on this.

    See Fitzy – this is why you need the blog. go on go on go on go on go on

Leave a Comment