使用hazelcast

时间:2017-11-16 14:47:19

标签: java apache-camel hazelcast hazelcast-imap

我有一个独立的java应用程序(apache camel)的多个实例,其中使用hazelcast IMDG存储应由任何应用程序实例访问的信息(在IMaps中)。 每个IMaps都包含String作为键,一些自定义对象作为值。

我的主要问题是 - 如果当前运行的版本和新版本的IMap结构存在差异(自定义对象已更改),当我开始部署更新的应用程序并连接到活动的hazelcast集群时,会导致错误和群集关闭。

这不是Blue-Green部署策略,我需要在更新后获得所有以前存储的hazelcast数据。

在类似情况下是否有已知的开源解决方案用于滚动升级? 或许有人可以指出我正确的方向。

P.S。 Hazelcast具有滚动升级功能,但它仅限企业(https://hazelcast.com/products/rolling-upgrade/

1 个答案:

答案 0 :(得分:1)

@IvanDanyakin如果你想维护不同版本的地图条目,那么你应该寻求使用Portable Serialization。以下是文档链接:http://docs.hazelcast.org/docs/3.9/manual/html-single/index.html#versioning-for-portable-serialization

滚动升级旨在升级正在运行的群集中的Hazelcast服务器版本,即无需关闭群集。