On Sun, Mar 9, 2008 at 2:36 PM, John D. Mitchell <[EMAIL PROTECTED]> wrote:
> On Sat, Mar 8, 2008 at 2:29 PM, Steve Loughran <[EMAIL PROTECTED]> wrote:
>  [...]
>
> >  you're server should start returning something other than 200 from its
>  >  happy page, and the HTTP-aware front end load balancer (which polls
>  >  these pages) will stop routing traffic to it. That makes it implicit
>  >  that new work doesn't come in. It also stops this box receiving work
>  >  when it is unhappy for other reasons, like it can't talk to the
>  >  database or there's no temp file storage.
>
>  Indeed.  [Of course, then you have to deal with the failure modes for
>  the load balancers themselves, heartbeat bugs, what happens when all
>  of the back-end servers fail, etc.. :-)]

There's always a single point of failure, it just moves around the system...

>  Just to be clear, what Steve is talking about is that a decent
>  load-balancer setup will have the load-balancer regularly (e.g., 1 /
>  second) ping each of the underlying load-balanced services at an "I'm
>  alive" URL (a so-called heartbeat check).  If the load balancer
>  receives anything other than an HTTP 200 response (or cannot even
>  connect at all) then it assumes the server is down and should be taken
>  out of the active pool.
>

Exactly, And for those load balancers to do their work right, you had
better have that status page recognise when things are wrong.
Otherwise requests get routed their way only to fail shortly
afterwards. More amusingly, if the back ends fail really rapidly
-because they arent doing useful work- the router actually sends more
work that way, because its workload queue is shorter.

-steve

Reply via email to