tomcat-users mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Derrick Koes" <>
Subject RE: Updating webapps in a running production cluster.
Date Thu, 20 Jan 2005 19:46:38 GMT
This is how we update apps in time critical situations.  Shut one down and update.  Bring
it back up.  Shut the next down and update.  Bring it back up and so on.

-----Original Message-----
From: Richard Mixon (qwest) [] 
Sent: Thursday, January 20, 2005 2:22 PM
To: Tomcat Users List
Subject: Updating webapps in a running production cluster.

I apologize if I'm being impatient. Just was starting to wonder if my late night post had
been missed by most folks.

Does anyone have any ideas on how to update webapplications in a running Tomcat cluster without
shutting down the entire cluster or bumping users off? I think I need to update them one at
a time rather than all together.

Thanks - Richard

-----Original Message-----
From: Richard Mixon (qwest) []
Sent: Wednesday, January 19, 2005 5:39 PM
Subject: Webapp Maintenance in a Cluster

I am trying to setup a cluster of two Tomcat 5.0.19 servers behind a single instance of Apache.

We currently use the JK connector to connect Apache2 and a singel Tomcat instance now, and
would start to use it in load balancing mode with the two Tomcat instances. We will need to
start using JBoss Cache to keep our Hibernate database caches synchronized.

My objectives would be:
 1) better through put (each Tomcat is on a separate machine)
 2) failover if one Tomcat goes down.
 3) the ability to do maintenance/fixes during the day without stopping all activity.

My questions is about object #3. Currently if I deploy a fix (i.e. a new webapp.war file),
it restarts the context and my users get bumped off - having to relogin, possibly loosing
some work.

Ideally I was thinking that if a fix needs to be applied during the day while users are using
the system, I would:
1) Use the tomcat-deployer to "stop" one of the tomcat instances.
2) At this point all Tomcat traffic would be routed through the remaining Tomcat server.
3) Use the tomcat-deployer to "deploy" and then "start" a fixed version of the webapp.
   (Obviously the fixes are limite to logic changes, not database changes).

Then I would repeat steps 1-3 for the second Tomcat instance.

Does it work this way? I've been reading the documentation and a couple of articles and am
not sure now.

I am also trying to understand the "deployer" element for the cluster.
This does not seem to be what I want as it will deploy the new war locally and then immediately
deploy it to the other members of the cluster. BTW, the "deployer" element is not documented
in my Tomcat
5.0.19 server.xml, but is in the later Tomcat 5.0.28. Does it work in 5.0.19. I can easily
move to 5.0.28 in development, but our production machines are only certified to run 5.0.19
(SuSE Linux Enterprise Server 9).

Thanks in advance for any advice/suggestions.

 - Richard

To unsubscribe, e-mail:
For additional commands, e-mail:

To unsubscribe, e-mail:
For additional commands, e-mail:

To unsubscribe, e-mail:
For additional commands, e-mail:

View raw message