Load Balancing Methods
Load balancing is the process which enables a website or server services to be accessed through a series of
different IP addresses and network resources. It can be used for a variety of reasons depending on the type
of load balancing you are looking for. Some of the most common types of load balancing used, and mostly have
gone unnoticed, is for geographically distributing Internet traffic to local servers, mostly used by search
engine companies to route Internet requests to a geographic local server to produce fast response times. In
the cases of extremely active websites load balancing can give the website operators the option to spread out
the website requests to a series of several servers which can respond with similar site information and speed
up the websites functionality. Similarly, some load balancing techniques have also been used for security and
stability functions as well, when using load balancing techniques servers that would normally be brought down
by denial of service attacks can have their content distributed over several servers to minimize the impact
of an attack. Further in the even of a server failure some load balancing switches can sense server failures
and remove a fail server from a load balancing cluster improving site uptime.
Implementing load balancing can be as easy as creating multiple entries in your DNS records, to using proxy
servers and load balancing switches, depending on your use for load balancing.
DNS is by far the simplest way to load balance between servers, by creating multiple entries in DNS for the
same record most DNS servers will alternate between the entries as they are references, this creates a round
robin affect in that each entry is accessed an equal amount of times. A DNS entry can have more several entries
if the load is to be distributed over several servers, although the load would be distributed from DNS, the
servers that are distributing the load each need to be configured to respond to the same DNS entry.
Another method is by using proxy servers, typically this is used to reverse cached information from a single
website, although most modern websites use dynamic content proxy servers can still significant reduce the
load from static content and shield web servers from malicious attacks. Proxy servers are typically setup
so that they transparently act as a web server for another web server, they intercept web requests, check
it cached content can be served and serve it if its relevant, otherwise the proxy server send a request to
the original server on behalf of the original request. Most proxy servers over time will build up a cache
of requests to respond to requests from the network and shield the original site from serving unnecessary
requests. In the even of security issue Proxy servers themselves can be load balanced to distribute the
effects of an attack.
The most effective method of load balancing is using load balancing switches that incorporate their own load
balancing algorithms. Most load balancing switches allow servers to use the same IP address among the server
pool to correctly simulate load balancing, although within the pool the servers would have a unique secondary
IP address to allow for system administration. These load balancing switches usually have features which allow
the administrator the ability to modify the load across the servers, detect server failure to remove unresponsive
servers and mitigate some types of attacks designed to bring down a server pool.