Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/logging/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Hazelcast Embedded Topology |延迟随集群中节点数的增加而增加_Hazelcast - Fatal编程技术网

Hazelcast Embedded Topology |延迟随集群中节点数的增加而增加

Hazelcast Embedded Topology |延迟随集群中节点数的增加而增加,hazelcast,Hazelcast,我们正在嵌入式模式下运行一个5节点的Hazelcast集群。 我们正在使用Hazelcast IMap APi运行一个简单的锁定用例 然而,请求流的延迟呈线性增加 添加了节点。这是预期的吗 谢谢。这取决于数据结构,但通常是“是” 因为数据分布在可用节点上 如果您有一个3节点群集,那么您在本地拥有1/3数据的主副本。如果您是随机访问,那么您会发现66.66%的呼叫需要转到其他节点,因此会看到网络的影响 如果将其扩展到5节点集群,则在本地拥有1/5数据的主副本。对于相同的随机访问,现在80%的呼叫涉

我们正在嵌入式模式下运行一个5节点的Hazelcast集群。 我们正在使用Hazelcast IMap APi运行一个简单的锁定用例

然而,请求流的延迟呈线性增加 添加了节点。这是预期的吗


谢谢。

这取决于数据结构,但通常是“是”

因为数据分布在可用节点上

如果您有一个3节点群集,那么您在本地拥有1/3数据的主副本。如果您是随机访问,那么您会发现66.66%的呼叫需要转到其他节点,因此会看到网络的影响

如果将其扩展到5节点集群,则在本地拥有1/5数据的主副本。对于相同的随机访问,现在80%的呼叫涉及网络

随着节点数量的增加,嵌入式模式下数据局部性的好处会减少


请注意,这也是针对随机访问的,如果您经常访问同一个密钥,则可能是幸运的,它是本地的,也可能是不幸运的,它是远程的。

将节点添加为Lite成员是否有助于保持访问时间不变?只有2-3个节点上的数据?我怀疑。来自这些节点的访问总是远程的,因此对它们来说是一致的。但对其他人来说,网络可能是如此不一致。另外,节点间的内存占用会不一致,有些节点有数据,有些没有。谢谢Neil。还有一个问题,如果我让我的密钥PartitionAware,以便映射到同一节点拥有的分区,这是否有助于减少随机性。我的意思是,假设每个节点都设置了一个备份节点,每个节点拥有几个分区,如果我以某种方式指示节点正在处理的密钥是分区感知的,并且只映射到给定节点拥有的分区。那么时间不会线性增加,因为分区的主节点将是进程的同一个节点。那么可以缓解缩放挑战?这应该是一个单独的问题,这与原文无关谢谢你的建议。完成。把它移到另一个问题。