Using Clusters

      

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

 

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

Replication

Failover

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 Server and Service Migration

Migration Terminology

Leasing

 

Features That Use Leasing

 

Leasing Versions

 

Determining Which Type of Leasing 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 Whole Server Migration Process

Manual Whole Server 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 Migration

Understanding the Service Migration Framework

 

Migratable Services

JMS-related Services

JTA Transaction Recovery Service

User-defined Singleton Services

 

Understanding Migratable Targets In a Cluster

Policies for Manual and Automatic Service Migration

Manual Migration

Exactly-Once

Failure-Recovery

Options For Attempting to Restart Failed Services Before Migrating

User-Preferred Servers and Candidate Servers

Example Migratable Targets In a Cluster

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

Leasing for Migratable Services

Database Leasing

Consensus Leasing

Node Manager

Administration Server Not Required When Migrating Services

Service Health Monitoring

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

How Health Monitoring of JMS-related Services Triggers Automatic Migration

 

In-Place Restarting of Failed Migratable Services

 

Migrating a Service From an Unavailable Server

 

JMS and JTA Automatic Service Migration Interaction

Pre-Migration Requirements

 

Custom Store Availability for JMS Services

 

Default File Store Availability for JTA

 

Server State and Manual Service Migration

Roadmap for Configuring Automatic Migration of JMS-related Services

 

Step 1: Configured Managed Servers and Node Manager

 

Step 2: Configure the Migration Leasing Basis

 

Step 3: Configure Migratable Targets

Configuring a Migratable Server As an Automatically Migratable Target

Create a New Migratable Target

Select a User Preferred Server

Select a Service Migration Policy

Optionally Select Constrained Candidate Servers

Optionally Specify Pre/Post-Migration Scripts

Optionally Specify In-Place Restart Options

 

Step 4: Configure and Target Custom Stores

 

Step 5: Target the JMS Services

Special Considerations When Targeting SAF Agents or Path Service

 

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

 

Step 7: Manually Migrating JMS Services Back to the Original Server

Best Practices for Targeting JMS when Configuring Automatic 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

Accept the Default Manual Service Migration Policy

Optionally Select Constrained Candidate Servers

Optionally Specify Pre/Post-Migration Scripts

Optionally Specify In-Place Restart Options

 

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

Singleton 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

 

Architecture

 

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

MulticastMonitor

MulticastTest

 

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

Requirements

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

Requirements

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