Hazelcast 3.6版发布了,这个版本是Hazelcast团队和Hazelcast社区共同努力的成果。那么,Hazelcast 3.6版新特性有:
Hazelcast 3.6版终于决定把C++版和.NET版的客户端给开源了。Hazelcast官方发布了OBCP协议(Open Binary Client Protocol,开放二进制客户端协议),方便让开发者构建自己的客户端。Hazelcast的Java客户端一直是开源的,现在C++版和.NET版的客户端也开源了。希望未来能看到Node.js、Python、Ruby、Golang等语言的客户端。
这是Hazelcast 3.6企业版的最重要的特性,热重启存储的持久化。此特性使得可以在集群环境下快速从磁盘重启集群,因为集群的每一个节点都可以把自身的状态保存到本地磁盘。而且此特性针对SSD存储进行了优化,性能极佳。比如,一个Hazelcast集群(每个节点约500GB数据)重启需要最多4分钟。
热重启存储有两种主要的应用:
一是提供了一个安全的备份——即使数据中心故障,集群的节点发生崩溃的情况。
二是更新软件无需重载数据的情况。
热重启存储初始支持2种广泛使用的数据结构:IMap和JCache。
这是企业版的第二个重大特性。要知道,在Hazelcast 3.4版仅是支持JCache的高密度存储。而在3.6版,面向IMap的高密度存储也支持了。
IMap是Hazelcast中最流行的数据结构。
高密度存储使得集群的每一个节点都能保留大量的数据,且不会产生垃圾回收的开销。
Hazelcast企业版改进了广域网复制的功能,包括:
* 3.6企业版提供了存储广域网复制事件的队列的复制,这使得此队列具备高可用性。
* 引入了事件过滤器,可以过滤复制到目标节点的事件
* 允许用户在接收端提出一致性的要求
* 添加了专门的管理控制台,管理跨集群的复制
Lite Member是Hazelcast 2.x版引入的一种常量类型,表示集群中的活跃成员节点,但它不存储数据。后来Hazelcast移除了Lite Member特性,因为智能客户端keyii访问所有的成员节点。目前应社区的呼声,又把此特性加回来了。
云发现服务提供者接口即SPI,Cloud Discovery Service Provider Interface。越来越多的用户把Hazelcast部署到各种云上,故此特性是为了简化部署的难度。让集群的节点可以自动互相发现。
查询是Hazelcast访问和过滤数据最常用的操作之一,故3.6社区版改进了索引的内存消耗,还提供了一个基于规则的查询优化器来帮助判断执行给定的查询的效率。还添加了对多值属性的支持。
在3.6版,Hazelcast发布了Docker镜像到DockerHub。官方提供了三种镜像:Hazelcast镜像、Hazelcast Enterprise镜像、Management Center镜像。
这是Hazelcast的JCache实现,特性包括:
* 处理裂脑(网络分区)情况
* 监听分区事件,当分区丢失会报警
* 指定集群节点的最小数量
Hazelcast成立了专门的团队负责改进性能,在3.6版重构了线程模型、客户端、查询、事务。
可以从这里下载Hazelcast:http://hazelcast.org/download/
还可以通过Maven安装:
<dependency>
<groupId>com.hazelcast</groupId>
<artifactId>hazelcast</articaftId>
<version>3.6</version>
</dependency>