Load Balanced Web Hosting | Network Load Balancer
What is Load Balanced Web Hosting ?
Load balancing is the distribution of a workload across many nodes. It is typically used for balancing website traffic over multiple servers acting together as a web front-end.
Load-balancing is a technique of connecting two or more servers together in order to get optimal resource utilisation as well as increase performance and reliability for your web application. In other words, load balancing can also be described as dividing the workload of a single dedicated server between two or more dedicated servers.
The first rule of high availability hosting is that you need lots of servers. This spreads the site traffic out among a cluster of machines and provides a scenario where, rather than buying one incredibly expensive high-end server, you can buy a collection of cheaper servers that do the same job.
So, rather than buying a Quad Pentium III Xeon server, you can buy, say, four 2-way Pentium II servers. Each of these four servers in the cluster is configured into a load-balancing environment, whereby requests to the cluster as a whole are shared between all of the available servers in the cluster.
When running in a load-balancing environment such as this, visitors to the site are directed to one of the four servers in the application cluster, spreading the load such that no servers in the cluster experience considerable load when the others are virtually idle. When the overall load on the site grows (because the site becomes more popular), the cluster can be up sized simply by adding more servers. The other great reason for using a cluster is that if one machine goes down, you still have a Web site.
There are a number of ways of building a load-balancing environment, all of which, as you’ve probably guessed, have their pros and cons. The easiest (or cheapest) way to do it is to use a round Domain Name Services (DNS) configuration. In this scenario, when visitor A’s Web browser requests the Internet Protocol (IP) address for my site, he is issued with IP xxx.xxx.xxx.1, visitor B gets IP XXX.XXX.XXX.2, and so on. Although cheap and easy to configure, if machine I goes down, visitor A can no longer see the site.
Microsoft Windows NT Server 4 Enterprise Edition comes with a load balancing service, called Windows NT Load Balancing Service. This service can be used with anywhere between two and 32 servers in the cluster, and the general principle is that each machine in the cluster shares the same IP address.
So, when a request comes through to the server, one of the machines in the cluster will pick it up and start servicing it. Not only can Load Balancing Service be used for providing high availability for Web services, but it can be used for a number of TCP/IP based services, such as proxies, Virtual Private Networking and streaming media. Each machine running the service emits a heartbeat every few seconds to the other nodes. If a machine stops emitting this heartbeat, the other nodes assume it is unavailable and take over its workload.
One way to balance a cluster is to use a hardware-based load balancing solution (such as Cisco Local Director). This product can determine the load experienced by a machine and direct new visitors to less busy machines in the cluster automatically. It can also automatically swap out machines that have failed, and swap in new machines.