【发布时间】:2017-11-16 14:47:19
【问题描述】:
我有一个独立的 java 应用程序 (apache camel) 的多个实例,其中 hazelcast IMDG 存储信息(在 IMaps 中)应该由任何应用程序实例访问。 每个 IMap 都包含 String 作为键和一些自定义对象作为值。
我的主要问题是 - 如果当前运行的版本和新版本在 IMap 结构中存在差异(自定义对象已更改),当我开始部署更新的应用程序并且它们连接到活动的 hazelcast 集群时 - 它会导致错误和集群关闭。
这不是蓝绿部署策略,我需要在更新后拥有所有以前存储的 hazelcast 数据。
在类似情况下是否有已知的滚动升级开源解决方案? 或者也许有人可以指出我正确的方向。
附: Hazelcast 具有滚动升级功能,但仅限企业 (https://hazelcast.com/products/rolling-upgrade/)
【问题讨论】:
-
如果你的公司真的需要这样的功能,那么你的公司不应该害怕付钱
-
我不确定它是不是我想的那样。我确定它是为 hazelcast 版本更新而设计的,但是仅更新 IMap 对象呢,它仍然可以工作吗,它会为单个集群和同一地图中的不同对象类型正确处理反序列化吗?基本上我正在寻找多种解决方案可供选择。
标签: java apache-camel hazelcast hazelcast-imap