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

news/2024/7/24 7:20:36 标签: 分布式, 缓存, java

一、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

三、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的性能差异,还需要基于需求进一步做对比测试,方可有相对清晰的结论。


http://www.niftyadmin.cn/n/24777.html

相关文章

【Leetcode】699. 掉落的方块(困难)

一、题目 1、题目描述 在二维平面上的 x 轴上,放置着一些方块。 给你一个二维整数数组 positions ,其中 positions[i][lefti,sideLengthi]positions[i] [left_i, sideLength_i]positions[i][lefti​,sideLengthi​] 表示:第 i 个方块边长…

SwitchResX for Mac 屏幕分辨率修改工具

前言 SwitchResX V4.12.1 是Mac上一款功能强大的屏幕分辨率修改软件,可以为您提供控制显示器分辨率所需的所有工具。在switchresx帮助下,您可以管理无论是Mac Retina显示器,Cinema Displays还是电视机甚至投影仪的任何分辨率。而且switchres…

干货|app自动化测试之Appium WebView 技术原理

混合应用测试或微信小程序测试,都会涉及到 WebView 组件,这节内容将分析一下 WebView 的技术原理。首先通过日志分析查看 Appium 的运行过程。WebView日志分析要想查看 ChromeDriver 的日志,需要在 Capability 里开启 一个开关项 showChromed…

数据的存储(C语言)

数据类型: 要了解数据是如何存储的,我们就得先知道C语言中的数据类型 基本数据类型 基本数据类型,也就是C语言内置类型: char -> 字符型 short -> 短整型 int -> 整…

高性能存储SIG月度动态:DSMS开始适配Anolis OS、将在ANCK 5.10中支持ublk | 龙蜥 SIG

高性能存储技术 SIG 目标:高性能存储技术兴趣组致力于存储栈性能挖掘,当前主要聚焦内核 io_uring 技术优化异步 IO 性能,使用持久化内存提升业务单成本性能,容器场景存储技术优化等课题。期望通过社区平台,打造标准的高…

Java面向对象:封装、JavaBean和综合案例

目录封装基本概念总结如何更好的封装总结JavaBean补充知识:成员变量,局部变量区别综合案例封装 面向对象的三大特征:封装,继承,多态。 封装:告诉我们,如何正确设计对象的属性和方法。 封装的原则:对象代表什么&#x…

股票实盘量化交易之所以受普通投资者欢迎有哪两大原因?

股票实盘量化交易之所以如此受普通投资者欢迎,还有以下2个原因: 1、零成本试错,全市场捕捉赚钱机会 一般来说,大家都是拿真金白银去股票市场冒险的,风险极高,但如果你会量化交易,大可不必拿自己…

一、mysql基础、MySQL的安装及卸载、DML、DQL

MySQL基础 1、数据库相关概念 以前我们做系统,数据持久化的存储采用的是文件存储。存储到文件中可以达到系统关闭数据不会丢失的效果,当然文件存储也有它的弊端。 假设在文件中存储以下的数据: 姓名 年龄 性别 住址 张三 23 男 北京西三…