WebLogic JMS Clustering - yagnasysyagnasys.com/uploads/NOVAJug-Weblogic-JMS-Clustering.pdf ·...

20
Jayesh Patel [email protected] 703.589.8403 WebLogic JMS Clustering

Transcript of WebLogic JMS Clustering - yagnasysyagnasys.com/uploads/NOVAJug-Weblogic-JMS-Clustering.pdf ·...

Page 1: WebLogic JMS Clustering - yagnasysyagnasys.com/uploads/NOVAJug-Weblogic-JMS-Clustering.pdf · WebLogic JMS Clustering. ... WebLogic JMS Server runs in WebLogic Server Process Admin

Jayesh Patel [email protected]

703.589.8403

WebLogic JMS Clustering

Page 2: WebLogic JMS Clustering - yagnasysyagnasys.com/uploads/NOVAJug-Weblogic-JMS-Clustering.pdf · WebLogic JMS Clustering. ... WebLogic JMS Server runs in WebLogic Server Process Admin

About the Presenter

� Independent J2EE/WebLogic consultant

� 9 years of IT experience.

� Current Work at EDS/Federal Reserve Bank’s 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.

Page 3: WebLogic JMS Clustering - yagnasysyagnasys.com/uploads/NOVAJug-Weblogic-JMS-Clustering.pdf · WebLogic JMS Clustering. ... WebLogic JMS Server runs in WebLogic Server Process Admin

JMS Clustering – Agenda

� JMS Basics

� WebLogic JMS

� Clustered JMS

� Overview

� Load Balancing

� Migration/Failover

� WebLogic 9.0

� Key JMS Enhancements

Page 4: WebLogic JMS Clustering - yagnasysyagnasys.com/uploads/NOVAJug-Weblogic-JMS-Clustering.pdf · WebLogic JMS Clustering. ... WebLogic JMS Server runs in WebLogic Server Process Admin

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.

Page 5: WebLogic JMS Clustering - yagnasysyagnasys.com/uploads/NOVAJug-Weblogic-JMS-Clustering.pdf · WebLogic JMS Clustering. ... WebLogic JMS Server runs in WebLogic Server Process Admin

JMS Clustering - JMS Basics

� Point to Point

� Each message is delivered to only one consumer.

� Publish/Subscribe

� Each matching consumer receives a message

Page 6: WebLogic JMS Clustering - yagnasysyagnasys.com/uploads/NOVAJug-Weblogic-JMS-Clustering.pdf · WebLogic JMS Clustering. ... WebLogic JMS Server runs in WebLogic Server Process Admin

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

Page 7: WebLogic JMS Clustering - yagnasysyagnasys.com/uploads/NOVAJug-Weblogic-JMS-Clustering.pdf · WebLogic JMS Clustering. ... WebLogic JMS Server runs in WebLogic Server Process Admin

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

Page 8: WebLogic JMS Clustering - yagnasysyagnasys.com/uploads/NOVAJug-Weblogic-JMS-Clustering.pdf · WebLogic JMS Clustering. ... WebLogic JMS Server runs in WebLogic Server Process Admin

JMS Clustering – WebLogic JMS

Page 9: WebLogic JMS Clustering - yagnasysyagnasys.com/uploads/NOVAJug-Weblogic-JMS-Clustering.pdf · WebLogic JMS Clustering. ... WebLogic JMS Server runs in WebLogic Server Process Admin

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

Page 10: WebLogic JMS Clustering - yagnasysyagnasys.com/uploads/NOVAJug-Weblogic-JMS-Clustering.pdf · WebLogic JMS Clustering. ... WebLogic JMS Server runs in WebLogic Server Process Admin

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

Page 11: WebLogic JMS Clustering - yagnasysyagnasys.com/uploads/NOVAJug-Weblogic-JMS-Clustering.pdf · WebLogic JMS Clustering. ... WebLogic JMS Server runs in WebLogic Server Process Admin

JMS Clustering – Distributed Queue

Page 12: WebLogic JMS Clustering - yagnasysyagnasys.com/uploads/NOVAJug-Weblogic-JMS-Clustering.pdf · WebLogic JMS Clustering. ... WebLogic JMS Server runs in WebLogic Server Process Admin

JMS Clustering– Distributed Topic

Page 13: WebLogic JMS Clustering - yagnasysyagnasys.com/uploads/NOVAJug-Weblogic-JMS-Clustering.pdf · WebLogic JMS Clustering. ... WebLogic JMS Server runs in WebLogic Server Process Admin

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 Q’s have one consumer

� Message Load Balancing – Skips queue with Zero consumers

� Paused Distributed Destination Members – WLS 9.0� Load Balancing algorithm skips paused destination

Page 14: WebLogic JMS Clustering - yagnasysyagnasys.com/uploads/NOVAJug-Weblogic-JMS-Clustering.pdf · WebLogic JMS Clustering. ... WebLogic JMS Server runs in WebLogic Server Process Admin

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

Page 15: WebLogic JMS Clustering - yagnasysyagnasys.com/uploads/NOVAJug-Weblogic-JMS-Clustering.pdf · WebLogic JMS Clustering. ... WebLogic JMS Server runs in WebLogic Server Process Admin

JMS Clustering – JMS Server Migration

Page 16: WebLogic JMS Clustering - yagnasysyagnasys.com/uploads/NOVAJug-Weblogic-JMS-Clustering.pdf · WebLogic JMS Clustering. ... WebLogic JMS Server runs in WebLogic Server Process Admin

JMS Clustering – JMS Server Migration� JMS Server Migration

� Key Points

� MDB’s 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.

Page 17: WebLogic JMS Clustering - yagnasysyagnasys.com/uploads/NOVAJug-Weblogic-JMS-Clustering.pdf · WebLogic JMS Clustering. ... WebLogic JMS Server runs in WebLogic Server Process Admin

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 WS-ReliableMessaging

� More efficient than two-phase JTA transactions

Page 18: WebLogic JMS Clustering - yagnasysyagnasys.com/uploads/NOVAJug-Weblogic-JMS-Clustering.pdf · WebLogic JMS Clustering. ... WebLogic JMS Server runs in WebLogic Server Process Admin

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.

Page 19: WebLogic JMS Clustering - yagnasysyagnasys.com/uploads/NOVAJug-Weblogic-JMS-Clustering.pdf · WebLogic JMS Clustering. ... WebLogic JMS Server runs in WebLogic Server Process Admin

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 � [email protected]

Page 20: WebLogic JMS Clustering - yagnasysyagnasys.com/uploads/NOVAJug-Weblogic-JMS-Clustering.pdf · WebLogic JMS Clustering. ... WebLogic JMS Server runs in WebLogic Server Process Admin

WebLogic JMS Clustering

Questions?

Jayesh Patel, [email protected]/WebLogic/SOA ConsultantArchitecture Assessment Architecture Validation- Proof of Concept System Optimization - Performance Tuning Outage Analysis System Integration, Disaster Recovery

http://www.yagnasys.com