我们一直在实现 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/