weblogic jms clustering - yagnasysyagnasys.com/uploads/novajug-weblogic-jms-clustering.pdf ·...
TRANSCRIPT
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.
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
� Each message is delivered to only one consumer.
� Publish/Subscribe
� 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 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
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
� 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.
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
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 � [email protected]
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