在 Infinispan 中分组 api

Grouping api in Infinispan

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

分组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