You are viewing a plain text version of this content. The canonical link for it is here.
Posted to users@camel.apache.org by Ryan Moquin <fr...@gmail.com> on 2015/05/14 14:01:29 UTC

High Availability and No Down Time Deployments

Hi,

I had a question I was hoping that someone could help me with, make
suggestions or give me an example of how they handle this.  I'm currently
using Camel running in Karaf and it's working really well.

I'm trying to develop a strategy for being able to hot update production
environments with no downtime.  I was thinking the safest way would be to
simply deploy new versions to each running Karaf instance and leave the old
one running.  For the camel rest interfaces, I'll insert a version into the
URL so that other deployed services won't be interrupted and can be
upgraded to point to the new REST interface when ready.  I am stuck on one
part though.  We have some camel routes listening to SQS queues.  I'm not
sure the best way to force only the latest version of those camel routes to
listen to the SQS queue.  Also, the new versions of the camel routes will
conflict with the camel routes that were previously deployed right?  Or do
the new camel routes need to have a version in their names as well?  It
there a strategy anyone uses for having different versions of the same
camel route running in an environment at the same time to achieve
deployment updates without any downtime?

I know we could just destroy an environment and redeploy it, but then the
servers that are updated will be on the new version and some running the
old which I was told we can't have.  It also makes coordination with other
servers a little more complicated since you'd have to upgrade half the
camel routes upgrade other services to use the new versioned URLs and then
upgrade the second half.....

Does anyone have any thoughts on how this might be achieved in a sensical
way without being over complicated?

Thanks!
Ryan