Web Server Considerations in a Clustered Installation

If the HTTP Server adapter (which is used beneath several other adapter types) is being used in a clustered application server environment, software or hardware load balancing is required, even if the web server is not in a cluster.

This setup enables incoming client requests to be directed to a particular node in the application server cluster.

Note: IBM® Professional Services can provide input on load balancing, but your client IT and network staff can determine the optimum approach for your environment.
There are several ways to perform load balancing when using the HTTP Server adapter, including these common techniques:
  • DNS load balancing (round robin)
  • Proxy servers
  • Hardware load balancers

DNS Load Balancing (IP Method)

The simplest way to access an application server cluster from the web tier is by using a single Domain Name System (DNS) name that maps to the IP addresses of all of the clustered servers. When a DNS name is mapped to multiple addresses, the DNS server cycles through the list on each successive lookup of that name. This provides a simple form of load balancing and failover. Each time a client resolves the URL, it gets the next address in the cycle. This ensures that client connections are evenly balanced across the cluster. If a client request fails, the client can failover the request by looking up the name again and retrying with the new address. This is a simple and sufficient approach for some applications, but it does not provide the level of performance and manageability that other solutions can provide.

Proxy Servers (HTTP Method)

You can access an application server cluster from the web tier by using another web server that proxies back to the cluster. Some application servers also act as a web server to do this, or provide a plug-in to other web servers to handle this. For example, BEA WebLogic can be configured as the proxy server, or you can use Apache, Netscape, or Microsoft Web Server with the WebLogic plug-in as the proxy server.

The proxy server is set up to redirect certain types of requests to the servers behind them. For example, the proxy server can be configured to handle requests for static HTML pages and redirect requests for Servlets and Java™ Server Pages to a cluster behind the proxy.

The proxy serves a function similar to the hardware load balancer in that the proxy server performs load balancing, distributing requests across the multiple servers in the cluster behind it. When a session is established, it continues to proxy all requests for that session to a single server. If that server fails, it fails over to a secondary server.

Hardware Load Balancers (IP Method)

Hardware load balancers avoid the drawbacks of the DNS approach by working at the IP level rather than at the naming level. Hardware load balancers tend to have higher performance than the software load balancers implemented by proxy servers. A hardware load balancer acts as a proxy to a cluster. The client connects to the load balancer and routes the connection to one of the clustered servers behind it. Load-balancing hardware can track the status and load of each server in its load-balancing decisions.

Advantages of using load-balancing hardware include:
  • A wider choice of load-balancing algorithms.
  • Fewer network hops.
  • SSL (Secure Sockets Layer) acceleration (offloading SSL processing from the application server to the dedicated SSL accelerator).
  • The skipping of dead servers, which improves response times.
Disadvantages of using load-balancing hardware include:
  • They are normally more expensive than using a proxy server or DNS.
  • They cannot take advantage of HTTP cookies that carry cluster-specific information about the location of the primary and secondary instances of the clustered objects. Session-aware load-balancing hardware is required to ensure that HTTP sessions are properly maintained (after the initial connection, additional packets that are part of that session go to the same server).