wood burning stoves 2.0*
The moose likes Architect Certification (SCEA/OCMJEA) and the fly likes Server Clustering issues Big Moose Saloon
  Search | Java FAQ | Recent Topics | Flagged Topics | Hot Topics | Zero Replies
Register / Login
JavaRanch » Java Forums » Certification » Architect Certification (SCEA/OCMJEA)
Bookmark "Server Clustering issues" Watch "Server Clustering issues" New topic
Author

Server Clustering issues

Kevin Thompson
Ranch Hand

Joined: May 04, 2001
Posts: 237
From my point of view, this is another one of those "opinion" categories. Like how many angels can sit on the edge of a pin.
I have some evidence from this board, that appears to say that the purpose/goal of server clustering is for improved performance. http://www.onjava.com/pub/a/onjava/2001/09/26/load.html
I have some evidence from this board, that appears to say that the purpose/goal of server clustering is for improved availability. http://www.javaworld.com/javaworld/jw-02-2001/jw-0223-extremescale.html
I was curious what other people's opinions were on this issue?
Kevin
Gennady Shapiro
Ranch Hand

Joined: Sep 25, 2001
Posts: 196
It's both. The performance improves because you split workload between servers in your cluster. The availability improves because fault-tolerance of two boxes is astronomically higher than one. More than that, modern app servers replicate state information of servlets and some beans so in case of one box failure the second one should seamlessly take over so user won't even know what happened.
However , this is more of Part III question. When they ask you how your system improves availability and perrformance you can proudly say - I designed for clusters!!!
Chris Mathews
Ranch Hand

Joined: Jul 18, 2001
Posts: 2712
Actually Clusters increase scalability but not necessarily performance. In other words adding nodes to your cluster will definitely increase the maximum number of concurrent users but may or may not decrease the average response time per user.
Gennady Shapiro
Ranch Hand

Joined: Sep 25, 2001
Posts: 196
I stand corrected.
Kevin Thompson
Ranch Hand

Joined: May 04, 2001
Posts: 237
So the answer is neither?
NOT performace
NOT availablility
but YES to scalability?
According to my notes, the words "availability" and "scalability" do not have equivalent meaning.
Chris Mathews
Ranch Hand

Joined: Jul 18, 2001
Posts: 2712
I never said no to availability. Clustering definitely increases both the availability and reliablity of the Application.
You are reading too much into things. Just because someone writes an article that says "Clustering good, better Availability", doesn't mean that this is the only benefit. It just happens to be the focus of the article.
Don't forget that there are two types of Scalability: Vertical and Horizontal. Clustering is a form of Horizontal Scalability. Most J2EE Application Servers support both.
Regardless, you are getting into too much detail. The exam itself is very high level when it deals with these things. Questions are very straightforward.
SJ Adnams
Ranch Hand

Joined: Sep 28, 2001
Posts: 925
Performance: the speed that the 'application' serves up pages and performs tasks.
Availabilty: use serial/parallel calculations. 2 independent ISP's increase availabilty, 2 (serial) firewalls (i.e. for a DMZ) decrease availabilty.
Scalability: Vertical - adding RAM, number of hard disks etc. Horizontal - adding JVM's, adding boxes to the cluster, adding webservers.
Clustering increases availability, is an example of horizontal scaling, may increase performance since it will distribute load (since performance is usually a function of load).
Was that the last word? I doubt it...!
Simon
Vivek Viswanathan
Ranch Hand

Joined: Mar 03, 2001
Posts: 350
I suppose my article was usefull

vivek viswanathan


Vivek Viswanathan SCJP 1.2, SCJP 1.6,SCJD,SCEA,SCWCD,IBM-484,IBM-486,IBM-141,Ms.NET C# 70-316,SCMAD, LPIC-I
Vivek Viswanathan
Ranch Hand

Joined: Mar 03, 2001
Posts: 350
Since the specification states that there are 2 web servers I assume that there exists a Load Balancer, that sits in front of the 2 web servers.
what type of load balancer should be used ?
Software / Hardware
Does the Load Balancer perform addtional jobs like , decrypt the HTTPS requests from the client and send only the HTTP request to each web server ?
Is the session state shared across the 2 web servers ?
If we are using a load balancer, doesnt it become a single point of failure ? Or do we have clustered LoadBalancers ?
In order to maintain the user session the does the Load Balancer read the information in the http request header, Cookies, URL readings and based on the information read, the load balancer sends the request to the appropriate web server ?
Vivek
 
I agree. Here's the link: http://aspose.com/file-tools
 
subject: Server Clustering issues