我已将Ignite实例作为计算机A上的“服务器模式”启动,在其中创建了缓存并在缓存中存储了1M Key->值。
然后我在计算机B上启动了Ignite实例作为“服务器模式”,它加入了计算机A上的Ignite实例,现在有一个包含2个节点的集群。
是否可以将所有1M K-> V从计算机A移动到计算机B(没有任何中断以查询数据或摄取数据),以便可以关闭计算机A进行维护,并且所有内容都可以从计算机B继续工作?
如果可以的话 - 执行此操作的步骤和代码是什么(从A - > B移动数据)?
答案 0 :(得分:2)
Ignite根据Cache Modes在服务器节点上分发数据。
在REPLICATED
模式下,每个服务器都拥有所有数据的副本,因此您可以关闭任何节点,并且数据不会丢失。
在PARTITIONED
模式下,您可以将CacheConfiguration.backups
设置为1
(或更多),以便数据在服务器节点之间均匀分布,但每个服务器还包含其他一些数据的副本服务器。在这种情况下,您可以关闭任何单个节点,数据不会丢失。
答案 1 :(得分:1)
IgniteCache有一些名为“backup”和“CacheRebalanceMode”的功能。我想你可以试试这些。