Building a stable infrastructure for growth
Published: 09 Aug 2005 11:45 BST
A mapping algorithm keeps track of which client requests are sent to which servers to be processed. If necessary, particular clients' requests can always be sent to the same server node; this is called affinity.
There are several different load balancing algorithms, including:
- Round robin: distributes the load to all the cluster nodes equally; works best if all the servers have the same hardware resources. A variation is the weighted round robin algorithm, which allows you to designate a "weight" or metric for each server indicating its performance capabilities.
- Load based: distributes the load according to each server's current workload, giving new requests to servers with the lightest load.
- Algorithms will also take into account, when distributing the requests, such factors as affinity, port rules, and host priorities.
To provide failover (the ability of a member of the cluster to take over if the other goes offline), the nodes communicate with one another using a "heartbeat" message (that basically says to the other node, "I'm alive"). If this heartbeat message isn't received, the node knows that the other node has failed and it takes over the workload of the failed node.
Implementing load balancing as your network grows
To implement load balancing, you will need at least two servers to act as members of the load balancing cluster. They don't have to have identical hardware, but it's preferred, especially if you're using a round-robin algorithm.
Each node should also have a second network interface card installed, so one adapter can be configured with the virtual IP address and will handle the traffic that's destined for the cluster and the other is configured with the dedicated IP address and is used for communications between the cluster members and for management of the individual machine. Although load balancing can function with single NICs, the dual NIC setup provides better performance.
Load balancing software is included in all editions of Windows Server 2003, even the low-cost Web Edition (it wasn't included in the Standard edition of Windows 2000 Server). It's called Network Load Balancing (NLB) and is installed as a Windows component. The Network Load Balancing Manager administrative tool is used to manage the cluster from one of the nodes. Here's a more detailed discussion of using Server 2003's NLB for Web farming.
There are also many third-party load balancing software packages available, such as NetBalancer from Allot Communications, which lets you define policies for distributing the load and define load balancing conditions and actions. Load balancing appliances are available from such companies as Radware, and there are also load balancing solutions available for Linux servers, such as Red Hat's Cluster Suite.
In choosing a load balancing solution, it's important to look ahead and anticipate your network's future expansion. You'll want a solution that makes it easy to add servers to or remove them from the load balancing cluster, and one that allows you to manage cluster members centrally and remotely.
As your organisation grows, load balancing becomes less of a luxury and more of a necessity. Building a scalable load balancing infrastructure will ensure that network performance and availability don't decrease as the size of your network increases.













