In this section you will look at the differences between Hardware load balancing solutions and software load balancing solutions. Understanding the strengths and limitations of each is crucial in deciding your network and system architecture. ColdFusion MX 7 Load Balancing and Software-Based Load BalancingIn most software-based load-balancing methodologies, a service runs on each machine in a cluster. A machine designated as the primary cluster server distributes load to the other servers in the cluster. Should one server go down, the other machines in the cluster are notified by communication among the servers' cluster services, and the other machines act to absorb the extra load. One limitation of this approach is that it requires your Web servers to act as their own clustering agents. ColdFusion MX 7 Enterprise Edition now uses integrated JRun clustering technology to provide load balancing and failover services. You can build and manage clusters right from the ColdFusion MX 7 Administrator. It can detect failed servers and busy applications, and provide redirection from these servers to other available servers. ColdFusion MX 7 Load Balancing uses HTTP redirection to balance load across a cluster as well as provide failover (see Figure 3.8). ColdFusion MX 7 Load Balancing runs on Windows, Solaris, and Linux platforms. Figure 3.8. The Web Server Connector balances the load across the JRun servers in the cluster.With ColdFusion MX 7 Load Balancing:
See Table 3.2 for the advantages and disadvantages of using ColdFusion MX 7 Load Balancing software-based load balancing.
Dedicated Load-Balancing HardwareHardware load balancers come in two basic flavors:
Using dedicated load-balancing hardware is the most sophisticated way and, for large clusters, the best way to balance load across a cluster. Hardware-based load balancers sit in front of the Web servers and route all requests to them. Requests come in to a single IP address for your domain. The load-balancing hardware answers the request and mediates with individual Web servers to provide a response that appears to have originated from your domain's single public IP address. This form of distribution relies on complex algorithms to determine which Web server is "most available" at the time the request is presented. Usually this determination is made by a server polling for HTTP response time and, optionally, by the use of agents residing on the Web servers that make up your cluster. The agents report to the load-balancing hardware various aspects of your system's performance, such as CPU utilization, process utilization, and other vital machine statistics. Based on this data, the device routes the request to the most available server. Server failover is managed because a server fails polling tests and doesn't return any usable performance data via its agent. Setting up load-balancing hardware is fairly complex. The arrangement is generally dual-homed (see the section "Tiered Application Architecture" in this chapter). Configuration requires fairly robust knowledge of TCP/IP networking principles, as well as the ability to absorb new concepts associated with the load-balancing hardware itself. For example, one downside to load-balancing hardware is the single-point-of-failure problem. To alleviate this issue, most manufacturers recommend that you purchase two boxes and set them up so that the second one can seamlessly take over for the first in case of failure. This backup box is known as a hot spare. You also need to address security and administration issues for your load-balancing hardware, just as you would for any other machine on your network. NOTE Only qualified routing technicians should set up hardware-based load balancing. Because these machines actually translate addresses, you can affect the operation of other routers on your network if you perform an incorrect installation or modification. In addition, network address translations (NATs) can affect the way your site functions after it is behind the load balancer. Hardware-based load balancing provides an enhanced level of security because most of this hardware uses network address translation (NAT). This way, an administrator can use private, nonroutable IP numbers to address Web servers and can filter requests to those machines on specific ports at the NAT machine. For example, the NAT machine knows that 192.168.0.1 is a Web server behind the NAT. An instruction is given to the NAT machine that says a public address of 206.123.23.5 maps to 192.168.0.1 on port 80. Then, when a request comes to 206.123.23.5 on port 80, the NAT machine passes the request through to the back-end server. The user, however, never knows the true IP address of the server responding to the request, and a different server could be substituted for 192.168.0.1 by changing the mapping. Many hardware load-balancing solutions also offer sophisticated firewalls. See Table 3.3 for the advantages and disadvantages of using a hardware load-balancing solution.
|