InfoCenter Home >
7: Multimachine management >
7.1: Using WebSphere Application Server in a multimachine environment >
7.1.3: Multimachine topologies >
7.1.3.5: Horizontal scaling with Network Dispatcher sample topologies

7.1.3.5: Horizontal scaling with Network Dispatcher sample topologies

Overview

A load-balancing product such as Network Dispatcher can be used to distribute HTTP requests among application server instances that are running on multiple physical machines. Network Dispatcher is part of the IBM WebSphere Edge Server, which is purchased separately from WebSphere Application Server It performs intelligent load balancing by using server availability, capability, workload, and other user-definable criteria to determine which server the TCP/IP request is sent to.

A simple Network Dispatcher topology

The following figure illustrates a simple horizontal scaling configuration that uses Network Dispatcher to distribute requests among application servers that are located on different machines.

A Network Dispatcher machine is generally configured with a backup node to eliminate it as a single point of failure. In this example, the backup Network Dispatcher node (Machine B) can be set up to take over if the primary Network Dispatcher node (Machine A) fails.

The application servers in this example can be cloned from the same model or configured independently.

A more complex Network Dispatcher topology

The next figure shows a more complex configuration where Network Dispatcher is used to distribute requests among several  machines containing clones of Web servers and application servers. For the sake of simplicity, the backup Network Dispatcher node and the administrative servers are not shown in this example.

This example shows two tiers of application servers. The first tier Web server machines host servlet-based applications, while the second tier application servers contain mostly enterprise beans that access application data and execute business logic. This enables you to employ numerous, less powerful machines on the first tier and fewer but more powerful machines on the second tier.

Using Network Dispatcher with firewalls

A load-balancing product such as Network Dispatcher can also be used with demilitarized zone (DMZ) topologies. For example, it can simplify the creation of a DMZ topology where one firewall protects the Web server from the public Web site and a second firewall protects back-end systems from the Web server in the DMZ by using proxy services.

The Network Dispatcher machine is placed between the outside firewall and the cluster of Web servers that it serves. The outside firewall provides filtering to allow only HTTP and HTTPS traffic. The firewall to the back-end systems (DBMS, CICS, SAP, etc.) handle non-HTTP protocols such as IIOP and JDBC. Because the administrative server needs to access the database for its configuration information, it is recommended that you place the administrative server on the same side of the firewall as the database, rather than in the DMZ. See section 7.1.3.7 and section 7.1.4 for more information on DMZ configurations.

Network Dispatcher and session affinity

In a topology that uses Network Dispatcher or a product of similiar functionality, Web servers must be associated with separate application servers, rather than with cloned application servers, in order to preserve affinity among Web servers and application servers.

Cloned application servers use WebSphere workload management (WLM), which does not support session affinity. Requests originating at a Web server can be routed to any of the clones of an application server, and sessions cannot be guaranteed to remain intact.

Discussion

Adding a mechanism for distributing HTTP requests (such as the Network Dispatcher component of WebSphere Edge Server) provides the following advantages:

  • It improves the performance of servers by distributing the incoming TCP/IP requests (in this case, HTTP requests) among a group of servers.
  • It increases the number of connected users.
  • It eliminates the Web server as a single point of failure.  It can also be used in combination with WebSphere workload management to eliminate the application server as a single point of failure.
  • It improves throughput by enabling  multiple servers and CPUs to handle the client workload.

Instructions

To set up the machines containing Web servers and application servers, see the instructions for the topology you plan to implement.

To place Network Dispatcher or another load-balancing product in front of the Web server machines, see the documentation for the load-balancing product. Instructions vary by product.

The load-balancing product communicates with the Web server, which in turn communicates with application servers. The configuration involves setting up communications between the load-balancing product and the Web server.

It does not matter to the load-balancing product whether the Web server is routing requests along to an application server or processing them itself. Therefore, it is not necessary to perform any special configuration to make the load- balancing product and application servers aware of one another. This is true with Network Dispatcher, based on testing with IBM WebSphere Application Server. Results can vary with other load-balancing products.

Go to previous article: Horizontal scaling with clones sample topology Go to next article: HTTP server separation sample topologies

 

 
Go to previous article: Horizontal scaling with clones sample topology Go to next article: HTTP server separation sample topologies