Skip site navigation (1)Skip section navigation (2)
Date:      Sun, 09 Jul 2000 12:13:33 +1000
From:      Enno Davids <enno.davids@metva.metva.com.au>
To:        "R.I.Pienaar" <rip@pinetec.co.za>
Cc:        isp@FreeBSD.ORG
Subject:   Re: load balancing 
Message-ID:  <200007090214.MAA08089@metva.com.au>
In-Reply-To: Your message of "Sat, 08 Jul 2000 18:37:36 %2B0200." <20000708183736.A16123@pinetec.co.za> 

next in thread | previous in thread | raw e-mail | index | archive | help
On Sat, 8 Jul 2000 18:37:36 +0200, "R.I.Pienaar" <rip@pinetec.co.za> wrote:
| 
| how does it monitor the boxes behind the load blanacer, when does it find out
| that your box died and its ment to failover?
| 

I've been doing a little survey of the state of the art in loadbalancers and 
failover boxes for work for the last few months. All seem to work the same way 
from what I've seen.

Each sits in the path of the traffic to be balanced and redirects packets to a 
destination system by re-writing the addresses in the packet header. It also 
has to re-write the address in the responses when they come back (so as to not 
confuse the client browser or whatever). If the response traffic doesn't 
arrive (usually after a few mS, but configurable) the resource is marked 'down' 
and temporarily removed from the load-balancing pool. It is 'ping'ed at regular 
intervals while its in that state to see when it might be back up (although the 
ping is actually a 'half-open' of the TCP port of the service, i.e. send TCP SYN 
packet look for ACK but don't bother completing the handshake when the ACK does 
come back). When services are back up the affected system is added back into the 
load balancing pool once again. This latter mechanism only works when the balancer 
can see the return traffic of course and sometimes they can't (in the modes where 
they direct traffic to another site, conceptually usually one that's 'closer' to 
the client).

The algorithms used to balance can also be many and varied and some you'll 
encounter are round-robin, quickest response, least number of connections and 
lowest load (needs a host that can report its load usually via SNMP). Some 
boxes (notably F5's) can in fact be configured to offer a mix of each 
algorithm on a proportional basis.

Some of the systems also offer QA facilities like comparing the output of the 
same URL on different boxes when they're balancing HTTP and raising an alarm 
when they see differences. Clearly this only works for static content but it 
can be used to good effect on things like home pages and 'important' services. 
Don't use use this on web pages with lots of personalisation or dynamically 
rotating banner ads or the like though.


Hope this helps,

Enno.






To Unsubscribe: send mail to majordomo@FreeBSD.org
with "unsubscribe freebsd-isp" in the body of the message




Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?200007090214.MAA08089>