A hardware-based or software-based solution that can direct requests for Web content to multiple geographical locations where the content is stored. For example, if an electronic business has several data centers around the world, it can use global load balancers to direct Web customers traffic to centers that can provide the fastest response time for each customer’s location.
If a data center goes down as a result of a power outage or some other condition, traffic to that site can be transparently redirected to other sites. The overall effect of implementing global load balancers in an e-business enterprise is an increase in reliability and performance from the customers point of view.
Global load balancers essentially act as intelligent Domain Name System (DNS) name servers, performing name lookups for Uniform Resource Locators (URLs) and directing requests to the most appropriate IP addresses. The following five criteria are typically used to determine which address to forward a request to. (Not all global load balancers support all five criteria.)
Of course, the DNS standard itself has built-in load balancing in the form of round-robin DNS. If multiple IP addresses are mapped to the same domain name, clients requesting the domain are directed to each IP address in a round-robin fashion. However, this rudimentary load-balancing scheme does not take into account such factors as which IP address belongs to the nearest host, the relative capability of the hosts to respond to requests, the availability of hosts, and so on. This is where global load balancers come in - they take over the role of authoritative name server for a company’s domain.
Global load balancers come in three varieties:
Global load balancers talk only to the local DNS server configured for the client, not to the client itself. This works well, except when mobile users travel to other cities and use their laptops to try to access the site. In this situation, if the client is still using a preconfigured DNS server at the home location, the global load balancer thinks that the client is still there as well. Also, once a DNS-based global load balancer has directed a client to the appropriate site or server, it is no longer involved in the client’s session and cannot tell whether the server goes down or whether some problem occurs with the connection.
For this reason, some global load balancers also use Hypertext Transfer Protocol (HTTP) redirects to masquerade as the target site and redirect HTTP requests to different servers. The client actually talks to the load balancer itself, and performance is faster than using DNS because fewer Transmission Control Protocol (TCP) connections are required. If the client’s connection to the server is interrupted, the global load balancer can redirect the client to a different server with minimal interruption. The downside of using HTTP redirects is that they work only with HTTP and not with other Internet protocols, such as File Transfer Protocol (FTP) or Network News Transfer Protocol (NNTP), or with streaming multimedia. This can be a limitation if your e-business delivers this type of content to the customer.
Other mechanisms can be used to perform global load balancing, including cookie-based and proprietary schemes. Windows NT 4, Enterprise Edition, provides a load-balancing service called Windows NT Load Balancing Service (WLBS). This IP load-balancing service employs a fully distributed clustering design that is ideal for creating highly available and scalable IP-based services such as Web, virtual private networking (VPN), streaming media, and proxy services.