java - Hazelcast内部共享f分布式 map

标签 java dictionary distributed sharing hazelcast

我们一直在实现 Hazelcast2.5 作为我们的分布式缓存机制。在完全实现 Hazelcast Distribute Map 之前,我们可以先了解一下 hazelcast 的分布式 map 是如何实现的。即它如何在两个 JVM 之间共享数据。 Hazelcast 是否使用了自己的扩展 Map。

最佳答案

我们实现了 Map 接口(interface)(更准确地说是 ConcurrentMap 接口(interface))。但在这个接口(interface)之下,实现是完全自定义的。

Hazelcast 根据映射条目的键对数据进行分区。默认情况下有 271 个分区,这些分区分布在集群中的成员上。因此,对于 2 节点集群,每个成员都会获得 +/- 135 个分区。

写入完成后,将根据 key 的哈希值确定正确的分区。然后写入将发送到拥有该分区的机器并进行处理。

当 get 完成时,正确的分区也会根据 key 的哈希值确定。然后将 get 发送到拥有该分区的机器,一旦读取该值,结果就会发送回客户端。

这是 Hazelcast map 工作原理的非常简单的解释。

关于java - Hazelcast内部共享f分布式 map ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19025443/

相关文章:

python - 组合字典键的大量重叠间隔的值

algorithm - 我可以使用 Unix 时间作为 Lamport 时间戳吗?

java - 分布式系统中的消息传递和信令

python - 如何在 Spark 数据框中强制重新分区?

java - 在多线程环境中设置对象字段

java - 提高java截图的分辨率

Java如何在switch语句下打破while循环?

python - 将字典解压到 Pandas DataFrame 中

java - "Comparison method violates its general contract!"

c# - 获取字典元素的值并在 Entity Framework 中的 where 条件中使用