【问题标题】:Rolling upgrade of multiple java standalone applications (apache camel instances) with hazelcast使用 hazelcast 滚动升级多个 java 独立应用程序(apache camel 实例)
【发布时间】: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


【解决方案1】:

@IvanDanyakin 如果您想维护不同版本的地图条目,那么您应该考虑使用可移植序列化。这是文档的链接:http://docs.hazelcast.org/docs/3.9/manual/html-single/index.html#versioning-for-portable-serialization

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

【讨论】:

    猜你喜欢
    • 2016-04-08
    • 1970-01-01
    • 1970-01-01
    • 2015-05-25
    • 2020-11-12
    • 1970-01-01
    • 1970-01-01
    • 2011-02-12
    • 1970-01-01
    相关资源
    最近更新 更多