Designing the Architecture of a WebLogic Cluster
To implement a WebLogic cluster that meets the high-availability and scalability requirements of your J2EE application, you must understand the elements that
Understanding a Typical Clustering Environment
If you are new to the concept of clustering, it is imperative for you to understand what
Figure 25.4. The typical software tiers and services that can constitute a WebLogic cluster environment.
The Load Balancer
A load balancer is a software or hardware mechanism that can distribute client connection requests to the servers in a WebLogic cluster. The objective of a load balancer is to ensure all clustered servers service incoming
The load balancer serves as the single point of entry for a WebLogic cluster.
The distribution criteria of a load balancer are based on algorithms applied to the inbound network traffic. The following are some examples:
The exact available algorithm depends on the capabilities of your load balancer. For example, the WebLogic Server HttpClusterServlet proxy supports only a
The Web Proxy Server
If you have an existing Web
Using a Web Proxy server does have its advantages because you can leverage the existing infrastructure as well as any firewall policies for the Web tier, which
As illustrated in Figure 25.4, WebLogic Server can be divided into two logical tiers, as
The DeMilitarized Zone (DMZ)
as it is known in the network community, is a
network that is used to protect a specific trusted network environment from direct exposure to an untrusted (external network) environment. To define a DMZ, you first must identify the network environment you need to protect and then identify all the entrance points (front and back doors) to that network. In most cases, the
As you can see in Figure 25.4, you can secure a DMZ by using two firewalls. The one in front of the DMZ should be between the external network (Internet) and your DMZ, which is typically a
is typically a hardware appliance that is used to institute a secure access policy for
Recommended WebLogic Clustering Architectures
Generally, whenever an architectural discussion on how to design a WebLogic cluster occurs, the primary topics that influence the design directly relate to the way the cluster can guarantee the hosted application is very scalable and highly available. However, a WebLogic cluster in conjunction with a load-balancing mechanism, by default, provides a very scalable solution; WebLogic Servers can be added and removed from the cluster
Even though clustering is synonymous with both high availability and scalability, your architectural thoughts should be primarily aligned with ensuring a performance-oriented, highly available clustering solution. The following sections discuss two such clustering architectures you can consider: the
The Combined-Tier Architecture
The combined-tier architecture, as illustrated in Figure 25.5, combines the Presentation and Object tiers of a J2EE application into a single WebLogic cluster. If a Web Proxy server is not used, the Web tier is also introduced into the cluster.
Figure 25.5. The combined-tier WebLogic cluster architecture.
This clustering architecture meets the high-availability and scalability requirements for most J2EE applications, with the addition of the following advantages:
The limitation of the combined-tier architecture is that it does not provide an opportunity for introducing load balancing between the Presentation and Object tiers, which may be necessary if the method calls to the Object tier become unbalanced between the servers in the cluster. In such a scenario, the appropriate approach would be to split the Presentation and Object tiers of the J2EE application onto separate physical clusters as in the multi-tier architecture.
The Multi-Tier Architecture
The primary purpose of the multi-tier architecture is to introduce load balancing between the Presentation and Object tiers of a clustered J2EE application. As illustrated in Figure 25.6, this load balancing is achieved by deploying the Presentation and Objects tiers of a J2EE application onto two different clustered servers.
Figure 25.6. The multi-tier WebLogic cluster architecture.
By hosting the Object tier on a dedicated clustered server, WebLogic Servers in the Presentation tier cannot use the collocation optimization strategy for accessing clustered objects.
As depicted in Figure 25.6, however, the Presentation tier does gain the capability to load-balance each method call to a clustered object. In the multi-tier architecture, a servlet acts as the client to the clustered objects. When requests are made to invoke an EJB, the servlet
EJB replica-aware stubs and EJB home load algorithms are specified using elements of the EJB deployment descriptor.
The following are additional benefits for using the multi-tier architecture:
Although the multi-tier clustering architecture provides greater scalability and high-availability options, it does impose the following disadvantages when compared to the combined-tier architecture:
You can use the Administration Console to set the
attribute for a WebLogic Server instance, which defines its external DNS