WAN Optimization Equalizing / Load Balancing – Servers
Managing large quantities of data, requests for information via the web is a continuing challenge all IT managers face on a day to day basis. This challenge will only grow as connectivity spreads to all parts of the globe.
When multiple servers are used it is imperative that the load be distributed evenly among the servers in other words load balanced. This will make all the servers appear as a single one to anyone on the outside. IP Spraying is the load balancing mechanism that is utilized to spread the load among the servers.
Load Balancing – Algorithms
There are several load balancing algorithms that are utilized when distributing the load among servers in a cluster. Some of the load balancing algorithms are:
- Random Allocation – in this form of server load balancing, HTTP requests are assigned at random to one of the servers in the cluster. Unfortunately in the random allocation load balancing scenario, a single server may get more allocations and performance could suffer. This is easy to implement but could lead to a server overloading.
- Round Robin – in this load balancing algorithm, the IP Sprayer assigns HTTP requests to servers on a rotating basis. After any server is assigned a request, the server is moved to the bottom of the list of servers and the allocation is made to the next in line. This technique of server load balancing is easy and inexpensive to implement. The main drawback is that the DNS server does not know the availability of a server and may continue to direct traffic to an unavailable server. The DNS server only makes distinctions by IP address and not server port.
- Hardware Load Balancing – TCP/IP packets can be routed using hardware specifically designed for this purpose. These load balancing devices are built with intelligence and perform at a high level of availability and robust topology. These have the advantage of using the network gateway to route traffic but they are expensive compared to software versions.
- Software Load Balancing – this is commonly used and comes bundled with expensive web servers. They also come with application software packages. They are much cheaper than hardware based load balancers, have intelligent capability based on a multitude of parameters. Software load balancing needs additional hardware to isolate the load balancer.
DNS Load Balancing
When a domain name resolution request is sent to a DNS server, one of several canonical names are given out on a rotational basis. The request is redirected to one of the servers in the cluster. Once the domain name is resolved by DNS using the BIND feature, subsequent requests from the same client will always go to the same server.
This method of load balancing has several possible issue that one needs to be aware of. Issues such as servers that are not available or DNS caching by other servers are problematic. Since the DNS server will not know the down status of a server, it will continue to direct traffic to that server. As stated earlier DNS can only differentiate by IP address and does not work on server port. If the IP address is cached by other servers, the requests may be misdirected.
Round robin DNS is a load distribution system rather than a load balancing system. These drawbacks can be overcome by using a more advanced version of load balancing using Perl scripts.
Some networks use proxy servers as server load balancers. In such set ups, one of the web servers is dedicated to rerouting traffic to the other servers in a cluster.
Proper implementation of server load balancing is critical to ensure users have a pleasant experience. Large global enterprises use strategically located global server clusters so that responses are quick and users have a smooth web experience.