Sharing the Load

Balancing the Load with Cisco's LocalDirector

In Part One of this series on load sharing for Web servers, we discussed using Domain Name System (DNS) to act as the front-end for a "virtual Web server," which is actually a cluster of computers. The main drawback with the DNS solution is that there is no automatic failover. DNS cannot monitor and detect when a Web server has disappeared and remove it from the list. For this type of service you need to use one of several load balancing products available.

Load balancers are computers that are physically positioned between users and a cluster of Web servers. For large scale public Web servers this would be between the Internet connection and the cluster. In the case of a corporate Web server for an intranet, the load balancer would be placed between the users and the Web servers.

As with the DNS load balancing solution, a single name for the Web server is visible to the users. The difference is that the domain name is now assigned to the IP address of the Load Balancer which acts as a virtual Web server. When requests are received by the load balancer, it makes a decision as to which Web server it forwards the request to. There are a number of different algorithms that the load balancer could use to make this decision. Typically the algorithms take into account server response times, number of open connections to each server, or an administratively defined weight to determine the most responsive server to handle the request.

One type of load balancer is called LocalDirector , from Cisco Systems. Cisco's LocalDirector offers several load balancing options to tune the response characteristics to fit your needs.

LocalDirector does not require any special client or host software. This allows the Web servers to run on any mix of platforms and operating systems. LocalDirector also supports any TCP/IP service including FTP, Telnet, Gopher, and HTTP. Any number of applications could be load balanced.

Performing scheduled maintenance on a Web server is a snap with a load balancer. Simply inform the load balancer that you are going to take a server down, and it will stop forwarding requests to that particular machine. The load balancer will notify you when all requests (users who are actively accessing that server) have terminated and it is safe to shut down the server. When the maintenance is complete, you can gracefully re-introduce the server to the active cluster by informing the load balancer that the Web server is back up. This technique does not require any changes to be made to DNS information.

In Part 3, which will run next month, we will discuss how you can load balance Web servers that are geographically dispersed around the globe and dynamically direct users to the server closest to their location.

Load Sharing with DNS

Balancing the Load with Cisco's LocalDirector