tomcat-users mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Shapira, Yoav" <>
Subject RE: Howto deploy a new version of my webapp without disturbing the customer?
Date Fri, 01 Oct 2004 12:52:25 GMT


>You are really lucky not to offer your service to thousands of
>customers. From what I can see in the sales figures, those customers
>never sleep! And so do the product managers: the best downtime is no
>downtime :-) Thus I want to keep the version cycle as small as

Yes, it's true that customers/users never sleep.

I want to offer an alternative approach here.  This scenario is one that
I had in mind when contributing the balancer app to Tomcat.  Using the
balancer app to address this issue can result in zero down time.  Here's
the setup:

- Tomcat server 1 with your app v1.0
- Tomcat server 2 with your app v1.0 turned off
- Tomcat front-end running only balancer (so this is a tiny, fast,
Tomcat installation consuming almost no resources), which redirects
requests for your app to Tomcat server 1.

Now v1.1 of your app is ready, here's what you do:
- Turn on Tomcat server 2, which has your app v1.0 still
- Modify the balancer rules to redirect requests for your app to Tomcat
server 2
- Update server 1 (you can turn if off, restart it, do whatever you
need, as your users aren't using it now) with your app v1.1
- When it's ready, modify the balancer rules again to that requests for
your app go to Tomcat server 1.
- Watch things for a while, and if something goes bad with your new app
you can just modify the balancer rules so that users go back to 1.0
(again, no down time!)
- But if things go well, you can turn off and update server 2 as well so
that you're ready for the next round.

This is just the standard cluster/traffic-director setup done with
Tomcat's balancer, which makes is a 100% Java, 100% free, lightweight
solution.  There are non-Java and/or $$$ alternatives to this same
approach that also work well.

The focus is on using multiple servers instead of one, thereby allowing
you to modify any one server at a time without causing down time for
your users.


This e-mail, including any attachments, is a confidential business communication, and may
contain information that is confidential, proprietary and/or privileged.  This e-mail is intended
only for the individual(s) to whom it is addressed, and may not be saved, copied, printed,
disclosed or used by anyone else.  If you are not the(an) intended recipient, please immediately
delete this e-mail from your computer system and notify the sender.  Thank you.

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

View raw message