Using WebLogic Server Clusters

     Previous  Next    Contents  Open Index in new window  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

Server Migration

Automatic Singleton Service Migration

Independent Support for Leasing in a Cluster

Job Scheduler

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

One-to-Many Communication Using IP Multicast

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

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

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

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

Migration

Understanding Server and Service Migration

Migration Terminology

Leasing

Features that Use Leasing

Leasing Versions

High-availability Database Leasing

Non-database Leasing

Automatic Server Migration

Preparing for Automatic Server Migration

Configuring Automatic 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 Server Migration

Migratable Server Behavior in a Cluster

Node Manager's Role in Server Migration

Cluster Master's Role in Server Migration

JMS and JTA Service Migration

How Migration of JMS and JTA Works

Migrating a Service from an Unavailable Server

Defining Migratable Target Servers in a Cluster

Automatic Singleton Service Migration

Overview of Singleton Service Migration

Migration Master

Migration Failure

Implementing the Singleton Service Interface

Deploying and Configuring Automatic Service Migration

Deploying an Application as a Singleton Service

Defining a Singleton Service within WebLogic Server

Configuring Automatic 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

Obtain a Cluster Licence

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 for a Cluster License

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  Next