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.