tomcat-users mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Kevin Hale Boyes <kcbo...@gmail.com>
Subject Re: Zero downtime deployments
Date Fri, 04 Dec 2015 17:40:56 GMT
This is exactly what I'm after.  Thanks to both of you.

On 3 December 2015 at 12:54, Tauzell, Dave <Dave.Tauzell@surescripts.com>
wrote:

> If you cannot use a tool like flyway you can do it by hand, too.  The key
> is that all database changes need to be backwards compatible.  For example:
>
> So, if you want to drop a column:
> 1. Deploy new version of app that doesn't require column X
> 2. Shutdown version which does
> 3. drop column X
>
> If you want to rename a column:
> 1. Deploy new version of app that writes data to old column name + new name
> 2. shutdown old version
> 3. drop old column
>
> We generally test out our old version of an app running against the new
> database schema to make sure this process will work.
>
> -Dave
>
> -----Original Message-----
> From: jieryn [mailto:jieryn@gmail.com]
> Sent: Thursday, December 03, 2015 1:32 PM
> To: Tomcat Users List
> Subject: Re: Zero downtime deployments
>
> Use http://flywaydb.org/ to perform database migrations. You will need at
> least 3 versions in order to perform an incompatible database change. v1 is
> existing behavior, v2 is a shim that bridges v1 and v3, and then v3 cleans
> up the shim and removes all the unnecessary hacks.
> When you have v1 rolled out against N images, then you can start rolling
> out compat shim v2 which adds some temporary work for the db and coexists,
> then when all instances are at v2 you can move to v3 which uses all the new
> stuff.
>
> I haven't found anything better or more efficient than the 2-step
> deployment with live code.
>
> On Thu, Dec 3, 2015 at 2:21 PM, Kevin Hale Boyes <kcboyes@gmail.com>
> wrote:
> > Thanks for this link to the presentation.
> > How do you all deal with some of the other dependencies that the web
> > application has?
> >
> > For example, if v2 of my application needs new database columns or
> > worse, a change to an existing column how can I have v1 and v2 running
> > at the same time?  We use Oracle as our database though the problem
> > exists for many database servers.
> >
> > Thanks,
> > Kevin.
> >
> > On 3 December 2015 at 01:31, Neill Lima <neill.lima@visual-meta.com>
> wrote:
> >
> >> Hello Jason,
> >>
> >> This approach of using httpd in front of 2+ Tomcats via AJP works
> >> well in my company. There is a bit of config necessary at httpd level
> >> so httpd is aware of all the Tomcats and also Tomcat config needs to
> >> be set to listen to AJP port instead of default port but it is not
> rocket science.
> >>
> >> This facilitates the deployment of nodes sequentially with no
> >> downtime. Of course, there is a shared session server to take care
> >> the sessions are not lost when Tomcats flip up and down.
> >>
> >> Reply in pvt if you need help setting up this.
> >>
> >> Thanks,
> >>
> >> Neill
> >>
> >> On Thu, Dec 3, 2015 at 12:08 AM, Jason Britton <jbritton31@gmail.com>
> >> wrote:
> >>
> >> > Thank you Christopher, reading now and we'll see if I can swing the
> >> > conference :)
> >> >
> >> > On Wed, Dec 2, 2015 at 4:00 PM, Christopher Schultz <
> >> > chris@christopherschultz.net> wrote:
> >> >
> >> > > Jason,
> >> > >
> >> > > On 12/2/15 4:07 PM, Jason Britton wrote:
> >> > > > I was looking for information for how those on the list achieve
> >> > > > zero downtime deployments of their tomcat hosted web
> >> > > > applications.  I
> >> > imagine
> >> > > > this can be achieved in a variety of ways, but would love to
> >> > > > hear
> >> what
> >> > > > works for you.  In our current environment we front multiple
> >> > > > tomcat instances with apache httpd, each tomcat instance
> >> > > > hosting one or more unique web apps.  In order to support this
> >> > > > effort we do have the
> >> > > resources
> >> > > > where we could spin up multiple tomcat instances to serve
> >> > > > requests
> >> for
> >> > a
> >> > > > single application.  I know there is mod_proxy_balancer
> >> > > > available for httpd, and I understand starting with tomcat 7
> >> > > > there is support for parallel deployment of versioned wars, and
> >> > > > tomcat also supports clustering.  I'm just unsure of what
> >> > > > approach I should start digging
> >> > into
> >> > > > and would very much appreciate any of your experiences.  The
> >> > > > servers
> >> > > we'll
> >> > > > be rolling out will be using the latest versions of tomcat 8
> >> > > > and
> >> apache
> >> > > > httpd 2.4.  Thanks for any insights!
> >> > >
> >> > > Check this out:
> >> > >
> >> > >
> >> >
> >> http://people.apache.org/~schultz/ApacheCon%20NA%202015/Load-balancin
> >> g%20Tomcat%20with%20mod_jk.pdf
> >> > >
> >> > > Start on slide/page 41.
> >> > >
> >> > > Then come to ApacheCon NA 2016 and discuss it!
> >> > >
> >> > > -chris
> >> > >
> >> > > -----------------------------------------------------------------
> >> > > ---- To unsubscribe, e-mail: users-unsubscribe@tomcat.apache.org
> >> > > For additional commands, e-mail: users-help@tomcat.apache.org
> >> > >
> >> > >
> >> >
> >>
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: users-unsubscribe@tomcat.apache.org
> For additional commands, e-mail: users-help@tomcat.apache.org
>
> This e-mail and any files transmitted with it are confidential, may
> contain sensitive information, and are intended solely for the use of the
> individual or entity to whom they are addressed. If you have received this
> e-mail in error, please notify the sender by reply e-mail immediately and
> destroy all copies of the e-mail and any attachments.
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: users-unsubscribe@tomcat.apache.org
> For additional commands, e-mail: users-help@tomcat.apache.org
>
>

Mime
  • Unnamed multipart/alternative (inline, None, 0 bytes)
View raw message