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