I wonder which ones of the following load balancers is able to detect an unavailable backend machine, and redirect the connection to another server without dropping the request:

  • nginx
  • AWS Elastic Load Balancer
  • HAProxy

I would expect that all of them will do this ...

  • nginx will attempt to contact each of the upstream servers in turn before sending an error tot the client.

    If with an attempt at the work with the server error occurred, then the request will be transmitted to the following server and then until all workers of server not are tested. If successful answer is not succeeded in obtaining from all servers, then to client will be returned the result of work with the last server.

  • HaAProxy can be configured to check the backend servers using the server option check and other related options.

| improve this answer | |
  • I don't have time to read the ELB docs for you but I'd be very surprised if ELB didn't do this too. – user9517 Mar 16 '13 at 8:03
  • HAProxy and ELBs both do configurable proactive checks periodically and won't even send a request to a backend server that failed the checks. If all servers are down, HAProxy returns a 503, ELB simply waits. – Ladadadada Mar 16 '13 at 9:11

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.