Using WebLogic Server Clusters

     Previous  Next    Contents    View as PDF - New Window  Get Adobe Reader - New Window
Content starts here

Introduction and Roadmap

Document Scope and Audience

Guide to this Document

Related Documentation

New and Changed Clustering Features in This Release

Understanding WebLogic Server Clustering

What Is a WebLogic Server Cluster?

How Does a Cluster Relate to a Domain?

What Are the Benefits of Clustering?

What Are the Key Capabilities of a Cluster?

What Types of Objects Can Be Clustered?

Servlets and JSPs

EJBs and RMI Objects

JDBC Connections

Getting Connections with Clustered JDBC

Failover and Load Balancing for JDBC Connections

JMS and Clustering

What Types of Objects Cannot Be Clustered?

Communications In a Cluster

WebLogic Server Communication In a Cluster

Using IP Multicast for Backward Compatibility

Multicast and Cluster Configuration

If Your Cluster Spans Multiple Subnets In a WAN

Firewalls Can Break Multicast Communication

Do Not Share the Cluster Multicast Address with Other Applications

If Multicast Storms Occur

One-to-Many Communication Using Unicast

Unicast Configuration

Considerations When Using Unicast

Peer-to-Peer Communication Using IP Sockets

Pure-Java Versus Native Socket Reader Implementations

Configuring Reader Threads for Java Socket Implementation

Determining Potential Socket Usage

Client Communication via Sockets

Cluster-Wide JNDI Naming Service

How WebLogic Server Creates the Cluster-Wide JNDI Tree

How JNDI Naming Conflicts Occur

Deploy Homogeneously to Avoid Cluster-Level JNDI Conflicts

How WebLogic Server Updates the JNDI Tree

Client Interaction with the Cluster-Wide JNDI Tree

Understanding Cluster Configuration

Cluster Configuration and config.xml

Role of the Administration Server

What Happens if the Administration Server Fails?

How Dynamic Configuration Works

Application Deployment for Clustered Configurations

Deployment Methods

Introduction to Two-Phase Deployment

First Phase of Deployment

Second Phase of Deployment

Guidelines for Deploying to a Cluster

WebLogic Server Supports “Relaxed Deployment” Rules

Deployment to a Partial Cluster is Allowed

Deploying to Complete Clusters in WebLogic Server

Pinned Services can be Deployed to Multiple Managed Servers.

Methods of Configuring Clusters

Load Balancing in a Cluster

Load Balancing for Servlets and JSPs

Load Balancing with a Proxy Plug-in

How Session Connection and Failover Work with a Proxy Plug-in

Load Balancing HTTP Sessions with an External Load Balancer

Load Balancer Configuration Requirements

Load Balancers and the WebLogic Session Cookie

Related Programming Considerations

How Session Connection and Failover Works with a Load Balancer

Load Balancing for EJBs and RMI Objects

Round Robin Load Balancing

Weight-Based Load Balancing

Random Load Balancing

Server Affinity Load Balancing Algorithms

Server Affinity and Initial Context

Server Affinity and IIOP Client Authentication Using CSIv2

Round-Robin Affinity, Weight-Based Affinity, and Random-Affinity

Server Affinity Examples

Example 1—Context from cluster

Example 2—Server Affinity and Failover

Example 3—Server affinity and server-to-server connections

Parameter-Based Routing for Clustered Objects

Optimization for Collocated Objects

Transactional Collocation

Load Balancing for JMS

Server Affinity for Distributed JMS Destinations

Initial Context Affinity and Server Affinity for Client Connections

Load Balancing for JDBC Connections

Failover and Replication in a Cluster

How WebLogic Server Detects Failures

Failure Detection Using IP Sockets

The WebLogic Server “Heartbeat”

Replication and Failover for Servlets and JSPs

HTTP Session State Replication

Requirements for HTTP Session State Replication

Supported Server and Proxy Software

Load Balancer Requirements

Programming Considerations for Clustered Servlets and JSPs

Using Replication Groups

Accessing Clustered Servlets and JSPs Using a Proxy

Proxy Connection Procedure

Using URL Rewriting to Track Session Replicas

Proxy Failover Procedure

Accessing Clustered Servlets and JSPs with Load Balancing Hardware

Connection with Load Balancing Hardware

Failover with Load Balancing Hardware

Session State Replication Across Clusters in a MAN/WAN

Network Requirements for Cross-cluster Replication

Global Load Balancer

Local Load Balancer



Configuration Requirements for Cross-Cluster Replication

Configuring Session State Replication Across Clusters

Configuring a Replication Channel

MAN HTTP Session State Replication

Replication Within a MAN

Failover Scenarios in a MAN

MAN Replication, Load Balancers, and Session Stickiness

WAN HTTP Session State Replication

Replication Within a WAN

Failover Scenarios Within a WAN

Database Configuration for WAN Session State Replication

Replication and Failover for EJBs and RMIs

Clustering Objects with Replica-Aware Stubs

Clustering Support for Different Types of EJBs

Clustered EJBHomes

Clustered EJBObjects

Stateless Session Beans

Stateful Session Beans

Failover for Stateful Session EJBs

Entity EJBs

Failover for Entity Beans and EJB Handles

Clustering Support for RMI Objects

Object Deployment Requirements

Other Failover Exceptions

Failover and JDBC Connections

Whole Server Migration

Understanding Whole Server and Service Migration

Migration Terminology


Features That Use Leasing

Leasing Versions

Determining Which Leasing Type to Use

High-availability Database Leasing

Non-database Consensus Leasing

Automatic Whole Server Migration

Preparing for Automatic Whole Server Migration

Configuring Automatic Whole Server Migration

Using High Availability Storage for State Data

Server Migration Processes and Communications

Startup Process in a Cluster with Migratable Servers

Automatic Migration Process

Manual Migration Process

Administration Server’s Role in Whole Server Migration

Migratable Server Behavior in a Cluster

Node Manager’s Role in Whole Server Migration

Cluster Master’s Role in Whole Server Migration

Service-Level Migration

Understanding the Service-Level Migration Framework

Migratable Services

Messaging/JMS-related Services

JTA Transaction Recovery Service

User-defined Singleton Services

Understanding Migratable Targets In a Cluster

User-Preferred Servers and Candidate Servers

Targeting Rules for JMS Servers

Targeting Rules for SAF Agents

Re-targeting SAF Agents to Migratable Targets

Targeting Migratable SAF Agents For Increased Message Throughput

Targeting SAF Agents For Consistent Quality-of-Service

Targeting Rules for Path Service

Special Considerations For Targeting a Path Service

Targeting Rules for Custom Stores

Migratable Targets For the JTA Transaction Recovery Service

Migration Processing Tools

Administration Console

WebLogic Scripting Tool

Automatic Service Migration Infrastructure for JTA

Leasing for Migratable Services

Database Leasing

Consensus Leasing

Node Manager

Service Health Monitoring

How Health Monitoring of the JTA Transaction Recovery Service Triggers Automatic Migration

Migrating a Service From an Unavailable Server

Pre-Migration Requirements

Custom Store Availability for JMS Services

Default File Store Availability for JTA

Server State and Manual Service Migration

Roadmap for Configuring Manual Migration of JMS-Related Services

Step 1: Configured Managed Servers

Step 2: Configure Migratable Targets

Configuring a Migratable Server As a Migratable Target

Create a New Migratable Target

Select a Preferred Server

Optionally Select Constrained Candidate Servers

Optionally Specify Pre/Post-Migration Scripts

Step 3: Configure and Target Custom Stores

Step 4: Target the JMS Services

Special Considerations When Targeting SAF Agents or Path Service

Step 5: Restart the Administration Server and Managed Servers With Modified Migration Policies

Step 6: Manually Migrating JMS Services

Roadmap for Configuring Automatic Migration of the JTA Transaction Recovery Service

Step 1: Configured Managed Servers and Node Manager

Step 2: Configure the Migration Basis

Step 3: Enable Automatic JTA Migration

Select the Automatic JTA Migration Check Box

Optionally Select Candidate Servers

Optionally Specify Pre/Post-Migration Scripts

Step 4: Configure the Default Persistent Store For Transaction Recovery Service Migration

Step 5: Restart the Administration Server and Managed Servers With Modified Migration Policies

Step 6: Automatic Failback of the Transaction Recovery Service Back to the Original Server

Manual Migration of the JTA Transaction Recovery Service

Automatic Migration of User-Defined Singleton Services

Overview of Singleton Service Migration

Migration Master

Migration Failure

Implementing the Singleton Service Interface

Deploying a Singleton Service and Configuring the Migration Behavior

Packaging and Deploying a Singleton Service Within an Application

Deploying a Singleton Service As a Standalone Service in WebLogic Server

Configuring Singleton Service Migration

Cluster Architectures

Architectural and Cluster Terminology


Web Application Tiers

Combined Tier Architecture

De-Militarized Zone (DMZ)

Load Balancer

Proxy Plug-In

Recommended Basic Architecture

When Not to Use a Combined Tier Architecture

Recommended Multi-Tier Architecture

Physical Hardware and Software Layers

Web/Presentation Layer

Object Layer

Benefits of Multi-Tier Architecture

Load Balancing Clustered Objects in a in Multi-Tier Architecture

Configuration Considerations for Multi-Tier Architecture

IP Socket Usage

Hardware Load Balancers

Limitations of Multi-Tier Architectures

No Collocation Optimization

Firewall Restrictions

Recommended Proxy Architectures

Two-Tier Proxy Architecture

Physical Hardware and Software Layers

Web Layer

Servlet/Object Layer

Multi-Tier Proxy Architecture

Proxy Architecture Benefits

Proxy Architecture Limitations

Proxy Plug-In Versus Load Balancer

Security Options for Cluster Architectures

Basic Firewall for Proxy Architectures

Firewall Between Proxy Layer and Cluster

DMZ with Basic Firewall Configurations

Combining Firewall with Load Balancer

Expanding the Firewall for Internal Clients

Additional Security for Shared Databases

DMZ with Two Firewall Configuration

Setting up WebLogic Clusters

Before You Start

Understand the Configuration Process

Determine Your Cluster Architecture

Consider Your Network and Security Topologies

Choose Machines for the Cluster Installation

WebLogic Server Instances on Multi-CPU machines

Check Host Machines’ Socket Reader Implementation

Setting Up a Cluster on a Disconnected Windows Machine

Identify Names and Addresses

Avoiding Listen Address Problems

DNS Names or IP Addresses?

When Internal and External DNS Names Vary

Localhost Considerations

Assigning Names to WebLogic Server Resources

Administration Server Address and Port

Managed Server Addresses and Listen Ports

Cluster Multicast Address and Port

Multicast and Multiple Clusters

Multicast and Multi-Tier Clusters

Cluster Address

Dynamic Cluster Address

Explicitly Defining Cluster Address for Production Environments

Explicitly Defining Cluster Address for Development and Test Environments

Explicitly Defining Cluster Address for Single, Multihomed Machine

Cluster Implementation Procedures

Configuration Roadmap

Install WebLogic Server

Create a Clustered Domain

Starting a WebLogic Server Cluster

Configure Node Manager

Configure Load Balancing Method for EJBs and RMIs

Specifying a Timeout Value For RMIs

Configure Server Affinity for Distributed JMS Destinations

Configuring Load Balancers that Support Passive Cookie Persistence

Configure Proxy Plug-Ins

Set Up the HttpClusterServlet

Sample web.xml

Sample weblogic.xml

Proxy Servlet Deployment Parameters

Accessing Applications Via the Proxy Server

Configure Replication Groups

Configure Migratable Targets for Pinned Services

Configure Clustered JDBC

Clustering Data Sources

Clustering Multi Data Sources

Package Applications for Deployment

Deploy Applications

Deploying to a Single Server Instance (Pinned Deployment)

Pinned Deployment from the Command Line

Cancelling Cluster Deployments

Cancel Deployment from the Command Line

Cancel Deployment Using the Administration Console

Viewing Deployed Applications

Undeploying Deployed Applications

Deploying, Activating, and Migrating Migratable Services

Deploying JMS to a Migratable Target Server Instance

Activating JTA as a Migratable Service

Migrating a Pinned Service to a Target Server Instance

Migrating When the Currently Active Host is Unavailable

Configure In-Memory HTTP Replication

Additional Configuration Topics

Configure IP Sockets

Configure Native IP Sockets Readers on Machines that Host Server Instances

Set the Number of Reader Threads on Machines that Host Server Instances

Set the Number of Reader Threads on Client Machines

Configure Multicast Time-To-Live (TTL)

Configure Multicast Buffer Size

Configure Multicast Data Encryption

Configure Machine Names

Configuration Notes for Multi-Tier Architecture

Enable URL Rewriting

Clustering Best Practices

General Design Considerations

Strive for Simplicity

Minimize Remote Calls

Session Facades Reduce Remote Calls

Transfer Objects Reduce Remote Calls

Distributed Transactions Increase Remote Calls

Web Application Design Considerations

Configure In-Memory Replication

Design for Idempotence

Programming Considerations

EJB Design Considerations

Design Idempotent Methods

Follow Usage and Configuration Guidelines

Cluster-Related Configuration Options

State Management in a Cluster

Application Deployment Considerations

Architecture Considerations

Avoiding Problems

Naming Considerations

Administration Server Considerations

Firewall Considerations

Evaluate Cluster Capacity Prior to Production Use

Troubleshooting Common Problems

Before You Start the Cluster

Check the Server Version Numbers

Check the Multicast Address

Check the CLASSPATH Value

Check the Thread Count

After You Start the Cluster

Check Your Commands

Generate a Log File

Getting a JRockit Thread Dump Under Linux

Check Garbage Collection

Run utils.MulticastTest

Troubleshooting Multicast Configuration

Verifying Multicast Address and Port Configuration

Possible Errors

Checking the Multicast Address and Port

Identifying Network Configuration Problems

Physical Connections

Address Conflicts

nsswitch.conf Settings on UNIX Systems

Using the MulticastTest Utility

Tuning Multicast Features

Multicast Timeouts

Cluster Heartbeats

Multicast Send Delay

Operating System Parameters

Multicast Storms

Multicast and Multihomed Machines

Multicast in Different Subnets

Debugging Multicast

Debugging Utilities



Debugging Flags

Setting Debug Flags on the Command Line

Setting Debug Flags by Using weblogic.Admin

Miscellaneous Issues

Multicast on AIX

File Descriptor Problems

Other Resources for Troubleshooting Multicast Configuration

The WebLogic Cluster API

How to Use the API

Custom Call Routing and Collocation Optimization

Configuring BIG-IP™ Hardware with Clusters

Configuring Session Persistence

Configuring URL Rewriting

Configuring WebLogic Server for URL Rewriting

Configuring BIG-IP for URL Rewriting

Configuring F5 Load Balancers for MAN/WAN Failover


Configure Local Load Balancers

Virtual Server IPs and Pools

Create a Failover Trigger Virtual Server and Pool

Create a Multi-layered Virtual Server and IP Pool

Configure the 3-DNS Global Hardware Load Balancer

Configure DNS Zones

Configure BIG-IP Addresses Managed by 3-DNS

Configure Data Centers

Configure Wide IPs

Configuring WebLogic Server Components

Configuring Radware Load Balancers for MAN/WAN Failover


Step 1: Configure an Authoritative Delegation Zone

Step 2: Configure Farm Virtual IPs and Servers

Create a Farm IP

Configure the Dispatch Method for the Server Farm

Creating Farm Servers

Step 3: Configure Port Multiplexing

Step 4: Configure HTTP Redirects

Step 5: Configure Session ID Persistency

Step 6: Configure LRP

Step 7: Configure WebLogic Server Components

  Back to Top       Previous  Next