Anda di halaman 1dari 20

WebLogic JMS Clustering

Jayesh Patel
jayesh@yagnasys.com 703.589.8403

About the Presenter


Independent J2EE/WebLogic consultant 9 years of IT experience.
Current Work at EDS/Federal Reserve Banks TWAI (Treasury Web Application Infrastructure) project. 7 years of focus in J2EE/WebLogic Technologies, Previously worked at BEA. Design, Development, Performance Tuning and Enterprise Architecture.

JMS Clustering Agenda


JMS Basics WebLogic JMS Clustered JMS
Overview Load Balancing Migration/Failover

WebLogic 9.0
Key JMS Enhancements

JMS Clustering - JMS Basics


Specifies API to access Enterprise Messaging Enables Java applications to exchange messages. Part of the J2EE
J2EE 1.3 -> JMS 1.0.2b WLS 8.1 J2EE 1.4 -> JMS1.1 WLS9.0

Client-Provider Architecture
Point to Point Publish/Subscribe

Does not specify


Transport protocol Clustering and Administration capabilities.

JMS Clustering - JMS Basics


Point to Point Publish/Subscribe

Each message is delivered to only one consumer.

Each matching consumer receives a message

JMS Clustering - JMS Basics


Message Producer and Consumers are decoupled. Message Consumption Modes
Synchronous Asynchronous - MessageListener

Acknowledgment Modes
AUTO_ACKNOWLEDGE CLIENT_ACKNOWLEDGE DUPS_OK_ACKNOWLEDGE

JMS Clustering WebLogic JMS


WebLogic JMS Server runs in WebLogic Server Process Admin Console provide administration capabilities Client and Server communicates using
T3, IIOP, HTTP SSL is supported for each protocol.

Integrated with
WebLogic Transaction Manager WebLogic Security Framework

JMS Clustering WebLogic JMS

JMS Clustering Overview


WebLogic JMS Server

Pinned to single server instance - Data Integrity. Migratable to the alive WebLogic instance Failover
Clustered JMS Resources

Distributed Destination
Virtual Destination with Physical Member Destinations Uniform Distributed Destination WLS 9.0

Clustered Connection Factory


Connection load balancing Message load balancing

JMS Clustering Load Balancing


Options
Round Robin Distribution Random Weight Based Distribution

Consumer Load Balancing


Consumers are load balanced Pinned to physical destination After consumer is created.

Producer Load Balancing


Producer connection is load balanced Each message produced is load balanced across member destinations

JMS Clustering Distributed Queue

JMS Clustering Distributed Topic

JMS Clustering - Load Balancing Heuristics


Transaction Affinity
Messages in transacted session

Server Affinity
Load balance to local members of the server instance.

Queues With Zero Consumers


Queues with zero consumer are considered for load balancing until all physical Qs have one consumer Message Load Balancing Skips queue with Zero consumers

Paused Distributed Destination Members WLS 9.0


Load Balancing algorithm skips paused destination

JMS Clustering JMS Server Migration


JMS Server Migration
Scheduled migration. In response of the server failure.

Requirements
JMS store should accessible from source and destination server Migratable target server should belong to same cluster

Server Migration
WLS 8.1 Manual migration WLS 9.0 - Automated migration

JMS Clustering JMS Server Migration

JMS Clustering JMS Server Migration


JMS Server Migration
Key Points
MDBs are migrated automatically Non-MDB subscribers need to recreated. Local Destination JNDI will cause conflict.

JMS Server Recovery


JMS Server can be migrated back to original server. Run java weblogic.PurgeConfigCache before starting original Server to prevent redundant activation of the migrated service.

WebLogic 9.0 Messaging Enhancements


Support for JMS 1.1 API Store and Forward
Messaging to potentially unavailable endpoints Improved reliability asynchronous store and forward between servers and domains Preserves message ordering Used to support WSReliableMessaging More efficient than twophase JTA transactions

WebLogic 9.0 Messaging Enhancements


Automated JMS Server failover in cluster
Heartbeat enables migration It was manual in 8.1 Failover of the persistence messages File Store , JDBC Store

JMS Server Administration


View / browse all messages Delete, move, import, export messages Pause / resume individual message Modular configuration of JMS Resources in EAR/WAR Message Life Cycle Logging

Performance
Improved file store implementation with advanced performance I/O algorithm. MDB Bach transactions.

Resources
JMS Resources
Product Documentation
http://e-docs.bea.com/wls/docs81/messaging.html http://e-docs.bea.com/wls/docs90/messaging.html

BEA dev2dev Web Site White Papers , Examples and Documentation.


http://dev2dev.bea.com/technologies/jms/index.jsp

JMS Newsgroups
http://forums.bea.com/bea/forum.jspa?forumID=2023

JMS Specification
http://java.sun.com/products/jms/docs.html

Java User Group Forum


novajug@yahoogroups.com

WebLogic JMS Clustering


Questions?
Jayesh Patel,
703.589.8403 jayesh@yagnasys.com J2EE/WebLogic/SOA Consultant Architecture Assessment Architecture Validation- Proof of Concept System Optimization - Performance Tuning Outage Analysis System Integration, Disaster Recovery

http://www.yagnasys.com

Anda mungkin juga menyukai