Chris Shuster 4/29/2009 1Chris Shuster. Application Servers ◦ Backend processing platform. ◦...

12
Application Server Clustering Chris Shuster 4/29/2009 1 Chris Shuster
  • 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. ◦...

Page 1: Chris Shuster 4/29/2009 1Chris Shuster.  Application Servers ◦ Backend processing platform. ◦ Multiple platforms, operating system and architecture.

Chris Shuster 1

Application Server Clustering

Chris Shuster

4/29/2009

Page 2: Chris Shuster 4/29/2009 1Chris Shuster.  Application Servers ◦ Backend processing platform. ◦ Multiple platforms, operating system and architecture.

Chris Shuster 2

Application Servers◦ Backend processing platform.◦ Multiple platforms, operating system and

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

Overview

4/29/2009

Page 3: Chris Shuster 4/29/2009 1Chris Shuster.  Application Servers ◦ Backend processing platform. ◦ Multiple platforms, operating system and architecture.

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

Page 4: Chris Shuster 4/29/2009 1Chris Shuster.  Application Servers ◦ Backend processing platform. ◦ Multiple platforms, operating system and architecture.

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

Page 5: Chris Shuster 4/29/2009 1Chris Shuster.  Application Servers ◦ Backend processing platform. ◦ Multiple platforms, operating system and architecture.

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

Page 6: Chris Shuster 4/29/2009 1Chris Shuster.  Application Servers ◦ Backend processing platform. ◦ Multiple platforms, operating system and architecture.

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

Page 7: Chris Shuster 4/29/2009 1Chris Shuster.  Application Servers ◦ Backend processing platform. ◦ Multiple platforms, operating system and architecture.

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

Page 8: Chris Shuster 4/29/2009 1Chris Shuster.  Application Servers ◦ Backend processing platform. ◦ Multiple platforms, operating system and architecture.

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

Page 9: Chris Shuster 4/29/2009 1Chris Shuster.  Application Servers ◦ Backend processing platform. ◦ Multiple platforms, operating system and architecture.

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

Page 10: Chris Shuster 4/29/2009 1Chris Shuster.  Application Servers ◦ Backend processing platform. ◦ Multiple platforms, operating system and architecture.

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)

Page 11: Chris Shuster 4/29/2009 1Chris Shuster.  Application Servers ◦ Backend processing platform. ◦ Multiple platforms, operating system and architecture.

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

Page 12: Chris Shuster 4/29/2009 1Chris Shuster.  Application Servers ◦ Backend processing platform. ◦ Multiple platforms, operating system and architecture.

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