如何确保为新节点(Apache Ignite)完成初始复制?

时间:2017-12-05 17:39:32

标签: ignite

以下是用例

  • 我部署了一个网络应用的第1版。
  • 它使用一对Ignite驱动的分布式(配置用于复制)Maps,Sets和其他数据结构。
  • 我要部署此应用程序的v2,一旦数据被复制,我将关闭此应用程序的v1并将用户(使用nginx)重新路由到新实例(v2)。
  • 我可以看到v1和v2上的Ignite可以相互发现并自动执行数据结构的复制。

我的意图:在将所有数据复制到第二个实例(v2)之前,我不想关闭第一个实例(v1)。

问题:我如何知道初始复制是否已完成?在这种情况下是否有任何事件被触发,或者是否有其他方式可以完成此任务?

1 个答案:

答案 0 :(得分:2)

如果您将缓存配置为使用同步重新平衡[1],则第二个节点将不会在重新平衡完成之前完成启动过程。这样您就可以保证将所有数据复制到第二个节点(当然,假设您使用的是完全复制的缓存)。

[1] https://apacheignite.readme.io/docs/rebalancing#section-rebalance-modes