Chris Shuster 4/29/2009 1Chris Shuster. Application Servers ◦ Backend processing platform. ◦...
-
date post
21-Dec-2015 -
Category
Documents
-
view
221 -
download
0
Transcript of Chris Shuster 4/29/2009 1Chris Shuster. Application Servers ◦ Backend processing platform. ◦...
Chris Shuster 1
Application Server Clustering
Chris Shuster
4/29/2009
Chris Shuster 2
Application Servers◦ Backend processing platform.◦ Multiple platforms, operating system and
architecture.◦ Multiple programming languages, Java, C++, etc.
Overview
4/29/2009
Chris Shuster 3
◦ 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.
Overview (cont)
4/29/2009
Chris Shuster 4
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.
Research Constraints
4/29/2009
Chris Shuster 5
JBoss nodes are partitioned into clusters. Cluster partitions can be manually or
automatically created.
Clusters
Cluster B
JBoss Node 3
JBoss Node 5
JBoss Node 4
JBoss Node 6
Cluster A
JBoss Node 1
JBoss Node 2
Cluster C
JBoss Node 7
4/29/2009
Chris Shuster 6
Architectures
Client Side Interceptor Architecture
Server Side Load Balancing Architecture
JBoss Node 1
JBoss Node 2
Client(Custom Application)
Pro
xy Class
JBoss Node 1
JBoss Node 2
Client(Web Browser)
Dire
ctor (L
oad B
alan
cer)
4/29/2009
Chris Shuster 7
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.
Server Side Load Balancing Arch
4/29/2009
Chris Shuster 8
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.
Server Side Load Balancing Arch (cont)
4/29/2009
Chris Shuster 9
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.
Pros and Cons
4/29/2009
Chris Shuster 10
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
Pros and Cons (cont)
Chris Shuster 11
Other methods of providing load balancing.◦ Apache with mod_proxy.◦ Hardware load balancers.
Client side interceptor architecture. Director clustering methodologies.
Future Research
4/29/2009
Chris Shuster 12
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
4/29/2009
References