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
