Ensuring the Availability of Applications and Services |
Network Load Balancing clusters a group of computers together that run server programs using the TCP/IP networking protocol. Network Load Balancing service enhances the availability and scalability of Web servers, File Transfer Protocol (FTP) servers, streaming media servers, virtual private network (VPN) servers, and other mission-critical programs. Network Load Balancing provides these enhancements using a cluster of two or more host computers (servers that are members of the cluster) working together.
A single computer running Windows 2000 Advanced Server can provide a limited level of server reliability and scalable performance. However, by combining the resources of two or more computers running Windows 2000 Advanced Server into a single cluster, Network Load Balancing can deliver the availability that Web servers and other mission-critical programs need to maintain top performance. Figure 18.2 represents a Network Load Balancing cluster containing four hosts.
Figure 18.2 Four Hosts Within a Network Load Balancing Cluster
Each host runs separate copies of the desired server programs, such as Web server, FTP, Telnet, and messaging. For some services, such as a Web server, a copy of the program runs on all hosts within the cluster, and Network Load Balancing distributes the workload among the servers. For other services, such as messaging, only one copy of the service handles the workload within the cluster. Instead of equalizing the loads of these services, Network Load Balancing allows network traffic to flow to a single host, moving the traffic to another host only in cases of server failure. Network Load Balancing allows all computers in the cluster to be addressed by the same set of cluster Internet Protocol (IP) addresses—while also maintaining their existing, dedicated IP es. Network Load Balancing distributes incoming client requests as TCP/IP traffic, including TCP connections and UDP streams, across the hosts.
To scale server performance, Network Load Balancing balances the load of incoming TCP/IP connections across all hosts in the cluster. You can configure the load size for each host as necessary. You can also add hosts to the cluster dynamically to manage increased load. In addition, Network Load Balancing can direct all TCP/User Datagram Protocol (UDP) traffic (not configured to be load balanced) to a designated single host, called the "default host." This is advantageous because it allows all services not explicitly configured for load balancing to run on a single host. Network Load Balancing manages the TCP/IP traffic to maintain high availability for server programs.
When a host fails or goes offline, Network Load Balancing automatically reconfigures the cluster to redirect client requests to the remaining computers. For load-balanced programs, the load is automatically redistributed among the computers that are still operating. Programs running on a single server have their traffic redirected to a specific host. Connections to the failed or offline server are lost. After necessary maintenance is completed, the offline computer can transparently rejoin the cluster and regain its share of the workload.
Network Load Balancing does not detect application failures. Instead, it is designed to be controlled by application monitoring programs that check for and ensure correct behavior of their associated applications. For example, if an application monitor determines that its service has failed, it can instruct Network Load Balancing to remove the affected host from the cluster until the problem is corrected. Additionally, Network Load Balancing detects whether a cluster host has had an orderly or disorderly shutdown or if the network adapter has failed.
You know that your organization requires Network Load Balancing if you host a TCP/IP service (such as a Web server) that must scale its performance to meet increasing client demand and that must be continuously available. For example, Internet e-commerce sites are seeing explosive demand, and outages on these sites are unacceptable to customers. Traditional means of scaling these services, such as the use of round robin domain name system (DNS) alone cannot provide the high availability that Network Load Balancing gives you. Round robin DNS is a solution for enabling a limited form of TCP/IP load balancing for Web servers.