GSLB, Global Service Load Balancing
Global Server Load Balancing (GSLB) is using hardware to modify DNS responses for server names. This allows the service manager for a client service to decide what IP address is returned to the client “on the fly”, based on server availability, server load (health checks), or other pre-configured metrics.
DNS has a built-in system called “round-robin”. If you give a host name more than one IP address, it will take turns putting each IP address at the top of the list when it responds to a DNS query of the IP associated with a specific name. GSLB takes this a step further by changing that order or even removing an IP address (or multiple addresses) from the DNS response if the GSLB controller knows that a server is down or overloaded.
Because it modifies DNS requests instead of balancing server traffic directly, the hardware providing GSLB doesn’t have to sit in front of the real servers that provide their service to its customers. This allows the real servers to be at multiple locations, making the service “global”. GSLB can be used to balance between multiple real servers, between multiple VIPs, or a combination of the two. GSLB can weight a specific IP address to give it more (or all) of your service's traffic so that you can allow hardware of differing abilities to get an appropriate share of the load; or you can even setup a primary/backup system where the backup only gets traffic if the primary is off-line.
When working directly with the IP address of a real server, the GSLB can perform basic availability checks, such as ping, and does a TCP port open to decide whether or not to leave an IP address in the DNS response. When working with a VIP from a service using SLB, the GSLB controller can get actual load and health check data from the hardware providing SLB and can use that data to decide an appropriate DNS response. Because of the health checks available, some people may choose to put single servers behind the SLB service at multiple locations to give GSLB the best data to decide which ones to include in the DNS response.
If the GSLB cannot talk to any of the real or virtual servers for some reason, it will not modify the DNS response at all. Instead, it will return all of the IP addresses on its list, presuming that the problem is within itself rather than within any of the servers. It will presume that everything outside of itself is working properly until communication with its servers is restored.
GSLB functionality is provided using the DNS Traffic Control feature of the IPAM system. More details can be found in the IPAM service documentation: https://wiki.illinois.edu/wiki/display/ipamdocs/DNS+Traffic+Control