--On 07 August 2003 08:29 +0100 Simon Lockhart <simonl@rd.bbc.co.uk> wrote:
The gated solution sounds interesting, but doesn't automatically have the feedback loop of stopping advertising itself when apache stops responding, but the box is still up (which is a fairly common occurrence in our Apache2 testing).
It seems like a fairly trivial hack to put together a script which polls HTTP requests to port 80 and drops the loopback service address if it is consistently failing. Then you've just got your BGP convergence time and unequal load balancing effects to worry about. Whilst I'm not knocking Paul's solution in an application like running a root NS for which it is perfect, I'm not so sure it's necessarily best for every kind of service load balancing. I've used both the route hack based and commercial NAT load balancers, and they both have their place. Commercial NAT based load balancers are able to do things like distribute requests according to actual measured server response characteristics. This is great if you have clusters of servers with different specs but want to extract the best performance under peak load from the whole cluster. It also helps if you are running complex services where individual servers can develop a pathological slow but not failing response for some reason. They are also able to do the kind of service polling as above and react quicker to a down server than one which relies on routing protocols. Neither of the above are much advantage if you are running a cluster of BIND servers who's performance is equal and deterministic and where dropping a proportion of requests for a second or two if a server ever dies is no big deal. If you are running complex web services (think expensive per server sw licences etc) then the investment in a pair of redundant load balancers for the front end to give more consistent performance under load as well as resilience can look very sane indeed. -- Rob.