3

我们想使用 Infinispan 作为计算网格。我们在 Infinispan 5.0 中找到了有关分布式执行框架的文档。

我们要做的是将缓存的一些节点专用于执行特定任务的专用节点,因为只有这些节点具有必要的硬件。

我的想法是创建一个分布式缓存映射 HardwareDriverKey 到 HardwareDriver,并使用 DistributedExecutorService.submit(task, hardwareDriverKey) 执行任务。为此,我们需要找到一种方法来确保 hardwareDriverKey 始终位于包含实际硬件的分布式缓存的特定节点上。

我们是否需要编写一个可以从hardwareDriverKey中提取节点地址的自定义ConsistentHash?你有这方面的例子吗?还是有其他方法?

在此先感谢,吉尔特。

4

2 回答 2

2

这基本上迫使对象组停留在同一个节点上,但您无法控制它是哪个节点。为了强制定位到特定地址,您可以使用KeyAffinityService。请注意,如果拓扑发生变化,对象可能会四处移动。

于 2012-01-13T14:08:08.583 回答
1

分组 API 可以解决这个问题。你可以在这里阅读更多关于它的信息。

于 2012-01-12T16:52:06.447 回答