Configuration 特定机器分布的一致性分布方案

Configuration 特定机器分布的一致性分布方案,configuration,oracle-coherence,Configuration,Oracle Coherence,假设机器1、机器2和机器3位于同一相干簇上 有没有一种方法可以说,在集群中,我希望我的缓存放在machine1和machine2下,而不是放在machine3下?这种结构是否有任何缺点(网络问题、性能等) 谢谢 编辑:我不希望任何存储禁用节点。每个节点都可以存储数据,但我希望它们选择要存储的缓存数据。例如: 缓存1:M1正常,M2正常,M3正常, Cache2:M1 NOK、M2 OK、M3 OK等我们在一致性集群中所做的是启动我们不想用作的JVM缓存在命令行上设置了属性-Dtangosol.c

假设机器1、机器2和机器3位于同一相干簇上

有没有一种方法可以说,在集群中,我希望我的缓存放在machine1和machine2下,而不是放在machine3下?这种结构是否有任何缺点(网络问题、性能等)

谢谢

编辑:我不希望任何存储禁用节点。每个节点都可以存储数据,但我希望它们选择要存储的缓存数据。例如: 缓存1:M1正常,M2正常,M3正常,
Cache2:M1 NOK、M2 OK、M3 OK等

我们在一致性集群中所做的是启动我们不想用作的JVM缓存在命令行上设置了属性
-Dtangosol.coherence.distributed.localstorage=false
的节点。这允许这些JVM加入集群并作为一级集群成员访问缓存,但它们实际上不是缓存的一部分

因此,在您的示例中,机器3上的所有JVM都将
tangosol.coherence.distributed.localstorage
属性指定为
false
,如果使用此属性集
true
(或不使用此属性,默认为
true
)运行,则机器1和2将用作缓存服务器

编辑:


我不知道有什么具体的方法来实施你更新的问题。您可以尝试为每台机器提供不同的coherence-cache-config.xml(以便每台机器“看到”一组不同的缓存),但似乎表明这一点不受很好的支持。我希望我有一个更好的答案。

我们在一致性集群中所做的是启动我们不想用作的JVM缓存在命令行上设置了属性
-Dtangosol.coherence.distributed.localstorage=false
的节点。这允许这些JVM加入集群并作为一级集群成员访问缓存,但它们实际上不是缓存的一部分

因此,在您的示例中,机器3上的所有JVM都将
tangosol.coherence.distributed.localstorage
属性指定为
false
,如果使用此属性集
true
(或不使用此属性,默认为
true
)运行,则机器1和2将用作缓存服务器

编辑:

我不知道有什么具体的方法来实施你更新的问题。您可以尝试为每台机器提供不同的coherence-cache-config.xml(以便每台机器“看到”一组不同的缓存),但似乎表明这一点不受很好的支持。我希望我有一个更好的答案