120 likes | 138 Views
Learn about the different architectures for application server clustering and how to handle large volumes of requests for high availability. Explore the pros and cons of server-side load balancing and discover future research possibilities.
E N D
Application Server Clustering Chris Shuster Chris Shuster
Overview • Application Servers • Backend processing platform. • Multiple platforms, operating system and architecture. • Multiple programming languages, Java, C++, etc. Chris Shuster
Overview (cont) • Two primary service architectures for clustering. • Client Side Interceptor Architecture • EJB, JNDI, RMI • Server Side Load Balancing Architecture • HTTP Requests (Servlets, JSP) • Clustering • Presents a unique challenge as compared to static or simple web content. • Handle large volumes of requests. • Necessary to for high availability. Chris Shuster
Research Constraints • Java based application servers only. • JBoss 5 specifically was used. • Server side load balancing architecture was evaluated only. • Apache 2.2.x used as the director. • Utilized the module mod_jk. Chris Shuster
Clusters • JBoss nodes are partitioned into clusters. • Cluster partitions can be manually or automatically created. Chris Shuster
Architectures Client Side Interceptor Architecture Server Side Load Balancing Architecture Chris Shuster
Server Side Load Balancing Arch • Director • Apache • Loaded with mod_jk to forward requests to the application servers. • mod_jk • Similar to mod_proxy. • Supports load balancing algorithms such as weight round robin. Chris Shuster
Server Side Load Balancing Arch (cont) • JBoss Cluster Nodes • Configuration identical for all nodes. • Cluster membership. • Aware that requests are forwarded. • Session replication for automatic failover. • Configuration unique for each node. • Node name. • Each node has an identical copy of the application, usually in the form of a WAR. Chris Shuster
Pros and Cons • Pros • Automatic failure detection and handling. • Automatic session replication. • Automatic distribution of the application to all nodes. • Cons • Single point of failure. • Requires addition software beyond just JBoss. Chris Shuster
Pros and Cons (cont) • Mitigation • Utilize multiple directors (load balancers). • Cluster and/or failover the directors using LVS or other conventional techniques. • Additional work is required to support session replication among directors. Chris Shuster
Future Research • Other methods of providing load balancing. • Apache with mod_proxy. • Hardware load balancers. • Client side interceptor architecture. • Director clustering methodologies. Chris Shuster
References • Apache Tomcat Connector • Web Server How To • http://tomcat.apache.org/connectors-doc/webserver_howto/apache.html • Reference Guide • http://tomcat.apache.org/connectors-doc/reference/apache.html • JBoss • JBoss AS 5 - Clustering Guide • JBoss AS 5 - Installation And Getting Started Guide • JBoss Run Parameters • http://www.jboss.org/community/docs/DOC-10749 • Using Mod_jk 1.2 With JBoss • http://www.jboss.org/community/docs/DOC-12525 Chris Shuster