Application Server Clustering by hcj

VIEWS: 2 PAGES: 12

									     Chris Shuster




Chris Shuster   4/29/2009   1
   Application Servers
    ◦ Backend processing platform.
    ◦ Multiple platforms, operating system and
      architecture.
    ◦ Multiple programming languages, Java, C++, etc.




                                     Chris Shuster   4/29/2009   2
    ◦ 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   4/29/2009   3
   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   4/29/2009   4
   JBoss nodes are partitioned into clusters.
   Cluster partitions can be manually or
    automatically created.
             Cluster A             Cluster B                  Cluster C




           JBoss Node 1   JBoss Node 3   JBoss Node 4      JBoss Node 7




           JBoss Node 2   JBoss Node 5   JBoss Node 6




                                                        Chris Shuster   4/29/2009   5
                                                                                 Director (Load Balancer)
                       Proxy Class




                                     JBoss Node 1                                                           JBoss Node 1


       Client                                          Client
(Custom Application)                                (Web Browser)


                                     JBoss Node 2
                                                                                                            JBoss Node 2




   Client Side Interceptor                             Server Side Load
        Architecture                                Balancing Architecture

                                                               Chris Shuster   4/29/2009                                   6
   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   4/29/2009   7
   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   4/29/2009   8
   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   4/29/2009   9
   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   4/29/2009   10
   Other methods of providing load balancing.
    ◦ Apache with mod_proxy.
    ◦ Hardware load balancers.
   Client side interceptor architecture.
   Director clustering methodologies.




                                  Chris Shuster   4/29/2009   11
   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   4/29/2009   12

								
To top