1

我一直在尝试实现一个项目,该项目将始终将特定值存储在 Infinispan 8.1 中的特定节点中。如果该节点已关闭,则应将该缓存中的值移动到另一个节点。我听说过支持我的要求的 Grouping api,但是,我只想确认如果该节点已关闭,是否所有值都将移动到辅助所有者节点。

4

1 回答 1

3

分组 API 不保证条目存储在特定节点上。它保证同一组中的条目存储在同一节点[1]上。

KeyAffinity API [2] 可以帮助确保条目存储在特定节点上。但是,它只会存储在稳定拓扑下的特定节点上。如果拓扑发生变化,则不能保证它仍然存储在该节点上,即使它仍然存在。

在任何一种情况下,如果您使用至少 numOwners >= 2 的分布式缓存,那么只要您没有并发故障 >= numOwners,数据就会被保留(并根据需要在节点之间移动)。

[1] http://infinispan.org/docs/dev/user_guide/user_guide.html#grouping

[2] http://infinispan.org/docs/dev/user_guide/user_guide.html#KeyAffinityService

于 2017-11-07T14:51:45.013 回答