130 likes | 168 Views
WebLogic Clustering - Failover, and Load Balancing. Bryan Ferrel and Ramarao Desaraju CS 522 Computer Communications December 4, 2002. Introduction. What is Clustering? Close cooperation of two or more replicated servers to ensure fast, continuous service to users.
E N D
WebLogic Clustering - Failover, and Load Balancing Bryan Ferrel and Ramarao Desaraju CS 522 Computer Communications December 4, 2002
Introduction • What is Clustering? • Close cooperation of two or more replicated servers to ensure fast, continuous service to users. • Clustering must provide the following: • No bottlenecks to scaling • No single point of failure • Transparency to application developers • Single-system image to administrators WebLogic Clustering
Clustering • Benefits of Clustering • High-Availability and Scalability • Key Capabilities of Clustering • Failover • New object can take over for the failed object • Load Balancing • Even distribution of jobs • Challenges • Replication without increasing load • Propagating changes to servers participating in the cluster • Complex setup WebLogic Clustering
WebLogic Clustering • What is WebLogic? • J2EE Application Server that is a platform for developing distributed applications • A hosting environment for EJBs • Provides several services such as: JMS, JNDI, JDBC, Transaction control, etc… • WebLogic Clustering • Consists of multiple copies of the WL Server working together—so that there are alternative objects to do the same job. WebLogic Clustering
WebLogic Clustering • Types of objects that can be clustered • Servlets and JSPs • EJBs • RMI objects • JMS destinations • JDBC Connections WebLogic Clustering
Replica-aware stubs created at compile time • Contains load-balancing algorithm WebLogic Clustering
Typical Clustered Multi-Tier Architecture WebLogic Clustering
Load Balancing • Algorithms used: • Round-Robin • Cycles through instances in order • Weight-Based • Allocation of requests based upon relative weights • Random WebLogic Clustering
What we did • Set up a WL server in a clustered environment • 2 Nodes and 1 Admin. server • Deploy an EJB • Stateful Session Bean that is replicated on the cluster • Simulate the action of multiple clients • Remote Java client that creates multiple threads and sends off requests in quick succession • Server logs client requests • Used for gathering statistics WebLogic Clustering
Test Setup WebLogic Clustering
Results • Most effective algorithm was Round-Robin • Weight-based is useful when there are differences in the cluster hardware • Degenerates to Round-Robin when using identical weights in the cluster. • Random was close to Round-Robin • Scalability • 1 server results in cacheful exceptions • Adding another node to the cluster removed this problem with identical clients WebLogic Clustering
References • Girdley, Woollen, Emerson, J2EE Applications and BEA WebLogic Server, Prentice Hall, Upper Saddle River, NJ, 2002 • On Line References: • http://e-docs.bea.com/wls/docs70/cluster/ • http://www.getgamma.com/wlscert/wls6clustering.html • http://www.distributedobjex.com/resources/techbriefs_BEA.htm • http://java.sun.com/j2ee WebLogic Clustering