Configuration 特定机器分布的一致性分布方案
假设机器1、机器2和机器3位于同一相干簇上 有没有一种方法可以说,在集群中,我希望我的缓存放在machine1和machine2下,而不是放在machine3下?这种结构是否有任何缺点(网络问题、性能等) 谢谢 编辑:我不希望任何存储禁用节点。每个节点都可以存储数据,但我希望它们选择要存储的缓存数据。例如: 缓存1:M1正常,M2正常,M3正常,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
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(以便每台机器“看到”一组不同的缓存),但似乎表明这一点不受很好的支持。我希望我有一个更好的答案