Feature of IMDG Enterprise HD, and Enterprise
Upgrade your Hazelcast IMDG members and clients in a running cluster without interrupting operations.
What is a Rolling Upgrade?
A Rolling Upgrade is where a running Hazelcast cluster can be upgraded without:
- Service Disruption
- Data loss
- Interruption to execution
There are two forms of rolling upgrades:
Member Rolling Upgrade
This is the ability to upgrade the cluster members without service interruption. It applies to embedded mode where there are no clients, and also to client server mode where there are clients connected to a cluster.
Available in 3.8, Rolling Member Upgrades enable you to upgrade your cluster members:
- without any service interruption.
- with migration of processing and data as each member is upgraded
Combined with User Code Deployment, Rolling Member Upgrade dramatically reduces the need to ever restart a production Hazelcast cluster.
How Does it Work?
This works by having you shut down one member at a time, upgrading the software version and returning it to the cluster. The newly upgraded member runs in the previous versions mode and you continue until all members have been upgraded. When all members have been upgraded you can then affect the version upgrade to the cluster.
Members can be upgraded in any order and over any time period. The cluster continues to run normally.
The Rolling Member Upgrade cluster version upgrade can be triggered and monitored through Management Center or from the command line.
Once the cluster version upgrade is completed, new Hazelcast features and capabilities in that version are available for use.
Client Rolling Upgrade
This applies to client server topology, where clients are connected to a Hazelcast cluster. With this, you are able to upgrade the clients independent of the server, without service interruption.
Client Rolling upgrade is implemented using our Hazelcast Open Client Protocol, a wire level protocol which loosely couples clients and members.
We have 6 different client languages including Java, C++, .NET, Python, Node.js and Scala, all of which support Client Rolling Upgrade.
Client Rolling Upgrades support:
- Upgrading a client version one client at a time without interrupting other clients
- Running different versions of a client at the same time. This permits applications to be upgraded one at a time where Hazelcast is used as a central cache by multiple applications
- Mixing clients of different languages and versions all in one cluster
- Performing a Rolling Member Upgrade without interrupting clients