Server and service health checks
One of the issues we discussed in the section on DNS load balancing was health checks. Once you start load balancing, you usually want some method of knowing which servers (and services) are operating correctly. Methods for checking the health of any connection include the following:
- Use ICMP to effectively "ping" the target servers periodically. If no pings return with an ICMP echo reply, then they are considered down, and they don't receive any new clients. Existing clients will be spread across the other servers.
- Use the TCP handshake and check for an open port (for instance
80/tcp
and443/tcp
for a web service). Again, if the handshake doesn't complete, then the host is considered down. - In UDP, you would typically make an application request. For instance, if you are load balancing DNS servers, the load balancer would make a simple DNS query – if a DNS response is received, then the sever is considered...