1. Hazelcast 是什么?
- 分布式存储
- 分布式计算
2. Hazelcast 的分布式存储是什么样的?
Hazelcast 官方称不依赖于磁盘存储,将所有运行状态保存在集群的随机存取存储器 (RAM) 中,然后由集群成员的 RAM 组合成一个内存数据存储,这种分布式模型称为_缓存集群。_
Hazelcast 提供了多种数据存储结构,例如Map、Queue、MultiMap、Set、List、Semaphore、Atomic 等常用接口的分布式实现,以及结构Topic可应用到分布式主题(发布/订阅服务器)为智能手机构建可扩展的聊天服务器,
以Map接口为例,当我们通过Hazelcast创建一个Map实例后,我们在节点A调用 Map::put("A","A_DATA") 方法添加数据,然后可以在节点B使用 Map::get("A") 获取到值为"A_DATA" 的数据。
3. Hazelcast存储数据的实现过程
3.1 Hazelcast分区
由于Hazelcast 服务之间是端对端的,没有主从之分,集群中所有的节点都存储等量的数据以及进行等量的计算。
Hazelcast 默认情况下把数据存储在 271 个区上,这个值可以通过系统属性 hazelcast.partition.count来配置。