分布式缓存系统 Ignite、Hazelcast、Ehcache

一、Apache Ignite

Apache Ignite是一个以内存为中心的分布式数据库、缓存和处理平台,支持事务、分析以及流式负载,可以在PB级数据上享有内存级的性能。如果禁用原生持久化,Ignite就是一个分布式缓存,它实现了JCache规范(JSR107),并且提供了比规范更多的功能,包括分区和复制分布式模式、分布式ACID事务、SQL查询、原生持久化等等。

Ignite中的原生持久化是可以开关的,这使得Ignite可以持有比可用内存量大得多的数据。尤其是,少量的操作型数据集可以只保存在内存中,而更大的无法放在内存中的数据集,可以放在磁盘上,将内存作为一个缓存层,可以获得更好的性能。

功能:

Apache Ignite核心优势简介:https://my.oschina.net/liyuj/blog/1828722

Ignite、Hazelcast、Coherence、Gemfire、Redis等的比较:https://my.oschina.net/liyuj/blog/516836

性能:

Ignite和Hazelcast性能对比测试:https://my.oschina.net/liyuj/blog/614595

Ignite和Hazelcast基准测试对比: https://my.oschina.net/liyuj/blog/899359

总结:Apache Ignite目前性能领先于Hazelcast。

二、Hazelcast

中文简介:https://www.jianshu.com/p/99d98acb3195

官方文档(重要):https://hazelcast.org/documentation/

3.5版本文档:http://docs.hazelcast.org/docs/3.5/manual/html-single/index.html

3.5版本Java文档:http://docs.hazelcast.org/docs/3.5/javadoc/

hazelcast的坑爹事:https://blog.csdn.net/hengyunabc/article/details/18514563

结论:基本的功能都有,但是包括

网上有人给出Hazelcast和Ehcache的差异性:

来源:https://www.oschina.net/question/184206_195928

分布式缓存系统 Ignite、Hazelcast、Ehcache_第1张图片

三、Ehcache

EhCache 是一个纯Java的进程内缓存框架,具有快速、精干等特点,是Hibernate中默认的CacheProvider。Ehcache是一种广泛使用的开源Java分布式缓存。主要面向通用缓存,Java EE和轻量级容器。它具有内存和磁盘存储,缓存加载器,缓存扩展,缓存异常处理程序,一个gzip缓存servlet过滤器,支持REST和SOAP api等特点。

Ehcache优缺点以及分布式详解:https://cloud.tencent.com/developer/article/1095704

Ehcache与redis比较:https://blog.csdn.net/mawming/article/details/52171510

四、总结&结论

总结:

1、Apache Ignite综合实力不错,作为缓存系统,开源并且具备必备的功能,网上暂未看到负面评价;

2、Hazelcast基本功能也都有,但是包括Web会话集群等一些功能仅在收费版里提供,网上评论Hazelcast比较坑的不少;

3、Ehcache小巧易用,比较灵活,优势很明显,也存在一些可以接受的缺点(具体看文章);

4、Apache Ignite性能比Hazelcast好,Ehcache还没找到有效的对比数据,目前使用来看,可以满足小体量的需求。

结论:

本文只是对Apache Ignite、Hazelcast、Ehcache的情况进行了简单的罗列,也涉及到其他一些缓存服务器,没有采用专业的对比分析法。但是基于上面文章里了解到的情况,我们可以大致判断出如果作为分布式文件缓存服务器,Hazelcast显然是不如Ignite和Ehcache,至于Ignite和Ehcache的性能差异,还需要基于需求进一步做对比测试,方可有相对清晰的结论。

你可能感兴趣的:(集群知识,分布式,缓存,java)