Chris Shuster 4/29/2009 1Chris Shuster
Application Servers ◦ Backend processing platform. ◦ Multiple platforms, operating system and architecture. ◦ Multiple programming languages, Java, C++, etc. 4/29/2009 2Chris Shuster
◦ 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. 4/29/2009 3Chris Shuster
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. 4/29/2009 4Chris Shuster
JBoss nodes are partitioned into clusters. Cluster partitions can be manually or automatically created. 4/29/2009 5Chris Shuster
Client Side Interceptor Architecture Server Side Load Balancing Architecture 4/29/2009 6Chris Shuster
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. 4/29/2009 7Chris Shuster
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. 4/29/2009 8Chris Shuster
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. 4/29/2009 9Chris Shuster
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. 4/29/2009 Chris Shuster10
Other methods of providing load balancing. ◦ Apache with mod_proxy. ◦ Hardware load balancers. Client side interceptor architecture. Director clustering methodologies. 4/29/ Chris Shuster
Apache Tomcat Connector ◦ Web Server How To doc/webserver_howto/apache.html doc/webserver_howto/apache.html ◦ Reference Guide JBoss ◦ JBoss AS 5 - Clustering Guide ◦ JBoss AS 5 - Installation And Getting Started Guide ◦ JBoss Run Parameters ◦ Using Mod_jk 1.2 With JBoss 4/29/2009 Chris Shuster12