No Collocation Optimization Firewall Restrictions

9-8 Using Clusters for Oracle WebLogic Server architecture enables remote EJB access for applications that require load balancing for EJB method calls.

9.3.4 Configuration Considerations for Multi-Tier Architecture

A multi-tier architecture may require adjustments to the configuration, as described in the following sections.

9.3.4.1 IP Socket Usage

Because the multi-tier architecture provides load balancing for clustered object calls, the system generally utilizes more IP sockets than a combined-tier architecture. In particular, during peak socket usage, each WebLogic Server instance in the cluster that hosts servlets and JSPs may potentially use a maximum of: ■ One socket for replicating HTTP session states between primary and secondary servers, plus ■ One socket for each WebLogic Server in the EJB cluster, for accessing remote objects For example, in Figure 9–2 , each server in the servletJSP cluster could potentially open a maximum of five sockets. This maximum represents a worst-case scenario where primary and secondary session states are equally dispersed throughout the servlet cluster, and each server in the servlet cluster simultaneously accesses a remote object on each server in the object cluster. In most cases, the number of actual sockets in use would be less than this maximum. If you use a pure-Java sockets implementation with the multi-tier architecture, ensure that you configure enough socket reader threads to accommodate the maximum potential socket usage. For details, see Section 3.1.3.2, Configuring Reader Threads for Java Socket Implementation.

9.3.4.2 Hardware Load Balancers

Because the multi-tier architecture uses a hardware load balancer, you must configure the load balancer to maintain a sticky connection to the clients point-of-contact server if you use in-memory session state replication. For details, see Section 10.2.5, Configure Load Balancing Method for EJBs and RMIs.

9.3.5 Limitations of Multi-Tier Architectures

This section summarizes the limitations of multi-tier cluster architectures.

9.3.5.1 No Collocation Optimization

Because the Recommended Multi-Tier Architecture cannot optimize object calls using the collocation strategy, the Web application incurs network overhead for all method calls to clustered objects. This overhead may be acceptable, however, if your Web application requires any of the benefits described in Section 9.3.2, Benefits of Multi-Tier Architecture. For example, if your Web clients make heavy use of servlets and JSPs but access a relatively small set of clustered objects, the multi-tier architecture enables you to concentrate the load of servlets and object appropriately. You may configure a servlet cluster of ten WebLogic Server instances and an object cluster of three WebLogic Server instances, while still fully utilizing each servers processing power. Cluster Architectures 9-9

9.3.5.2 Firewall Restrictions

If you place a firewall between the servlet cluster and object cluster in a multi-tier architecture, you must bind all servers in the object cluster to public DNS names, rather than IP addresses. Binding those servers with IP addresses can cause address translation problems and prevent the servlet cluster from accessing individual server instances. If the internal and external DNS names of a WebLogic Server instance are not identical, use the ExternalDNSName attribute for the server instance to define the servers external DNS name. Outside the firewall the ExternalDNSName should translate to external IP address of the server. Use of ExternalDNSName is required for configurations in which a firewall is performing Network Address Translation, unless clients are accessing WebLogic Server using t3 and the default channel. For instance, ExternalDNSName is required for configurations in which a firewall is performing Network Address Translation, and clients are accessing WebLogic Server using HTTP via a proxy plug-in.

9.4 Recommended Proxy Architectures

You can configure WebLogic Server clusters to operate alongside existing Web servers. In such an architecture, a bank of Web servers provides static HTTP content for the Web application, using a WebLogic proxy plug-in or HttpClusterServlet to direct servlet and JSP requests to a cluster. The following sections describe two alternative proxy architectures.

9.4.1 Two-Tier Proxy Architecture

The two-tier proxy architecture illustrated in Figure 9–4 is similar to the Section 9.2, Recommended Basic Architecture, except that static HTTP servers are hosted on a bank of Web servers.