Ivan Danyakin
Ivan Danyakin

Reputation: 13

Rolling upgrade of multiple java standalone applications (apache camel instances) with hazelcast

I have multiple instances of a standalone java application (apache camel) with hazelcast IMDG storing information (in IMaps) that should be accessed by any of the application instance. Each of IMaps contain String as key and some custom object as value.

My main problem is - if the currently running and new versions have differences in IMap structures (custom object changed), when I start to deploy updated applications and they connect to active hazelcast cluster - it leads to errors and cluster shutdown.

It's not Blue-Green deployment strategy and I need to have all previously stored hazelcast data after update.

Is there a known opensource solution for rolling upgrade in similar situation ? Or maybe someone can point me in the right direction.

P.S. Hazelcast have Rolling Upgrade feature but it's enterprise only (https://hazelcast.com/products/rolling-upgrade/)

Upvotes: 1

Views: 361

Answers (1)

wildnez
wildnez

Reputation: 1098

@IvanDanyakin if you wanted to maintain different versions of a map entry then you should be looking to use Portable Serialization. Here is the link to documentation: http://docs.hazelcast.org/docs/3.9/manual/html-single/index.html#versioning-for-portable-serialization

Rolling Upgrade is meant for upgrading version of Hazelcast servers in a running cluster i.e. without having to shutdown the cluster.

Upvotes: 1

Related Questions