Request Failover

A concept used in a High Availability Cluster where requests are sent only to servers which are available.

If a server goes offline, or is otherwise unreachable, and HTTP requests are still being sent to that server, those requests will fail. Techniques which prevent this from happening, are known as Request-Failover or Request-Level-Failover techniques.

This implemented in two ways:

  • a heart-beat mechanism between the servers (and/or load balancer), where a small message is sent every so often to inform other servers that the server is still up. If a server goes down, a minimal number of requests are lost. Network traffic is slightly increased, due to the heartbeat messages.
  • a forwarding device that accepts requests, and tunnels them through to the target server. If the target server does not respond, it sends to the next server in sequence. If a server goes down, request time increases temporarily (until the timeout), but no requests are lost. Request time may also be slightly increased due to the tunnelling.

Heart-beat systems can be implemented as follows:

  • in the load-balancer directly, where the load-balancer expects a message from each server every few seconds.
  • between an active and passive server, where the passive server expects a message from the active server every few seconds. If the active server fails to respond, the passive server becomes active, disabling the active server, and taking over it's requests.

See Also

metawerx specific

referring pages