If you have established a website which should be up 24/7, you might have looked the way to handle in case webserver is down. You wish if the traffic redirects to another web server. What if natural calamity has caused webserver to fail. Another server should not be at the same location to avoid similar fate. So, we need multiple webservers at different location. But user will have single URL to access. How to handle it? This document will help to handle such situation.
Global Server Load Balancing (GSLB) represents set of technologies that is used for business continuance and disaster recovery. Depending on nature of deployment different goals are targeted, like
disaster recovery: provide alternate location for accessing resource in the event of failure
load sharing: distribute traffic across multiple locations
performance: select a location based on client's geographic and network proximity or location that is least loaded etc
Benefits of global server load balancing include the following:
Reliability and availability – GSLB can be used to improve website reliability and availability in the face of server or network outages. If a power outage hits the northeastern U.S. after a snowstorm, for example, the load balancer can direct traffic away from resources hosted there to resources hosted in other parts of the country.
Performance – Delivering content from a server that is closer to the requesting user minimizes network latency and the likelihood of encountering network problems. For instance, directing requests from Australian users to servers in Sydney instead of servers in New York shortens the distance packets must travel by about 10,000 miles (16,000 km) one way.
Satisfying regulatory and security requirements – For many highly regulated industries like defense, telecommunications, and healthcare, global server load balancing enables network architects to service a global user base in a manner that complies with government regulations. For example, a global server load balancer can be configured to forward requests to data centers in Canada only if they come from Canadian users, not users in any other countries.
Delivering localized content – By using information about the geographical location of users, global server load balancers can forward requests to servers that host content customized for relevance in the user’s country and written in the national language.
Over time, various techniques have been developed to meet these requirements, although three techniques have withstood the test of time:
DNS based redirection to different locations;
Content level redirection to different locations, using HTTP redirection;
Route Injection to advertise the same IP address to multiple locations.
GSLB based on DNS works exactly the same way as normal DNS, with the exception that more logic is used to determine what addresses to return. The logic in most situations is based on:
The load and capacity of resources on the network.
The originating IP address of the request or interface it was received on.
Previous requests made from the same IP or network.
The health state of resources.
DNS-based load balancing is susceptible to delays in case of failover. This is because for a DNS change to take effect, it has to be recorded on the ISP level. ISPs only refresh their DNS cache once every TTL (Time to Live) cycle. This means that until the cache is updated, ISPs are unaware that the change took place and continue to route traffic to the wrong server.
Workarounds for this issue—such as setting TTL to a low value—have been developed, but these can negatively impact performance, and still not guarantee that all users are correctly directed.
https://support.citrix.com/servlet/KbServlet/download/22506-102-671576/gslb-primer_FINAL_1019.pdf
https://www.incapsula.com/load-balancing/dns-load-balancing-failover.html
https://docs.citrix.com/en-us/netscaler/10-1/ns-tmg-wrapper-10-con/netscaler-gslb-gen-wrapper-10-con/ns-gslb-protct-setup-against-fail-con.html
https://cwiki.apache.org/confluence/display/CLOUDSTACK/GSLB+(Global+Server+Load+Balancing)+Functional+specification+and+Design+Document
https://www.nginx.com/resources/glossary/global-server-load-balancing/