Application Server Clusteringx

hipshorseheadsΔιακομιστές

17 Νοε 2013 (πριν από 3 χρόνια και 6 μήνες)

66 εμφανίσεις

Chris Shuster

4/29/2009

1

Chris Shuster


Application Servers


Backend processing platform.


Multiple platforms, operating system and
architecture.


Multiple programming languages, Java, C++, etc.



4/29/2009

2

Chris 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

3

Chris 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

4

Chris Shuster


JBoss nodes are partitioned into clusters.


Cluster partitions can be manually or
automatically created.


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

5

Chris Shuster

Client Side Interceptor
Architecture

Server Side Load
Balancing Architecture

JBoss Node
1
JBoss Node
2
Client
(
Custom Application
)
Proxy Class
JBoss Node
1
JBoss Node
2
Client
(
Web Browser
)
Director
(
Load Balancer
)
4/29/2009

6

Chris 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

7

Chris 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

8

Chris 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

9

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

10


Other methods of providing load balancing.


Apache with mod_proxy.


Hardware load balancers.


Client side interceptor architecture.


Director clustering methodologies.


4/29/2009

11

Chris Shuster


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

Chris Shuster

12