我们一直在实施Hazelcast2.5作为我们的分布式缓存机制。在完全实现Hazelcast Distribute Map之前,我们可以了解hazelcast如何拥有其分布式地图。即它如何在两个JVM之间共享数据。 Hazelcast是否使用自己的扩展地图。
答案 0 :(得分:3)
我们实现了Map接口(更精确的是ConcurrentMap接口)。但在此界面下,实现完全是自定义的。
Hazelcast根据地图条目的键对您的数据进行分区。默认情况下,有271个分区,这些分区分布在群集中的成员上。因此,对于2节点集群,每个成员获得+/- 135个分区。
写入完成后,将根据密钥的哈希确定正确的分区。然后将写入发送到拥有该分区并进行处理的机器。
完成get后,还会根据键的哈希值确定正确的分区。然后将get发送到拥有该分区的计算机,一旦读取该值,结果就会发送回客户端。
这是关于Hazelcast地图如何运作的非常简化的解释。