NVIDIA 初创加速计划,免费加速您的创业启动 了解详情
写点什么

Hazelcast 加入 Eclipse 基金会

  • 2018-01-14
  • 本文字数:2836 字

    阅读完需:约 9 分钟

看新闻很累?看技术新闻更累?试试下载 InfoQ 手机客户端,每天上下班路上听新闻,有趣还有料!

Hazelcast 是一家网格式内存数据(IMDG,In-Memory Data Grid)开源解决方案提供商。近期,Hazelcast宣布加入Eclipse 基金会,并将与其它Eclipse 社区成员开展合作。这一合作将主要聚焦于JCache( JSR-107 )、Eclipse MicroProfile 和 EE4J。Hazelcast 已经提供了一种完全基于 JSR-107 规范的 JCache 原生实现。

Eclipse 基金会执行董事 Mike Milinkovich 对 Hazelcast 加入 Eclipse 基金会表示欢迎:

Hazelcast 已经展示了对开源和企业 Java 开放式规范流程的坚定承诺。Hazelcast 对 Eclipse MicroProfile 和 EE4J 社区的参与,必将有助于确保这些开源项目取得整体成功。

JCache 规范中给出了如下定义:

Java Caching API 为应用程序提供了一种使用和添加缓存的通用方式,使得开发人员可以专注于应用程序的开发,避免了自己去实现缓存功能的负担。本规范定义了一些缓存术语、语义,以及一组相应的 Java 接口。

JCache 的主要组件包括:

  • Cache;
  • CacheManager:管理所有的缓存;
  • CachingProvider:CacheManger 的生命周期管理;
  • Configuration:配置缓存。

组件的工作结构如下图所示:

入门

下面的代码,展示了如何使用基础的 JCache:

复制代码
CachingProvider cachingProvider = Caching.getCachingProvider();
CacheManager cacheManager = cachingProvider.getCacheManager();
// 创建一个基本缓存,其中具有类型安全(typesafe)配置。
CompleteConfiguration<string> config = new
MutableConfiguration<string>()
.setTypes(String.class,String.class);
// 创建并获取缓存。
Cache<string string=""> cache =
cacheManager.createCache("myCache",config);
cache.put("key1","value1");
cache.put("key2","value2");
assertEquals("value1",cache.get("key1"));
assertEquals("value2",cache.get("key2"));
cacheManager.close();
</string>,></string>,string></string>,string>

GitHub 上给出了一个应用例子,以及一套 JUnit 测试。

InfoQ 就 Hazelcast 加入 Eclipse 基金会采访了公司 CEO Greg Luck 。Luch 也是 JSR-107 规范的联合牵头人。

InfoQ:您能更深度地解释一下 Hazelcast 加入 Eclipse 基金会的原因吗?

Greg Luck: 我们一向积极参与社区。当我们看到 Eclipse 正在推进 MicroProfile plus 和 EE4J,我们认为自己也应该参与其中。

我并不确定 JCache 是否可以进入到 Eclipse 中。在我看来,至少当前最大的问题是所有的新 API 将不再允许使用javax命名。而目前我们使用的就是javax.cache。这一问题意味着在 JCache 2 中,我们将需要更改所有的软件包命名。我们已提供了 13 种实现方式,并有大量的用户代码使用了javax.cache。这一更改将是非常具有破坏性的。

InfoQ:在新闻公报中提及 Hazelcast 将“推广 JCache”。您能对此作进一步澄清吗?Hazelcast 将如何实现这一目标?

Luck: 据 PMO(程序管理办公室)的统计,JCache 是有史以来使用最广泛的 JSR 之一。我们提供了 13 种实现方式,范围涵盖了从大型分布式付费版本(例如 Oracle Coherence 和 IBM ExtremeScale),到一些被广泛使用的缓存解决方案(例如 Ehcache),以及开源 IMDG(例如 Hazelcast IMDG、Apache Ignite),还有本地进程内缓存解决方案(例如 Blazing Cache)。这些都是十分成功的。

Spring 已在其 API 中完全采用了 JCache。尽管 JCache 被评为 EE 上票数最高的特性请求,但是截止目前,EE 仍然尚未采用 JCache。因此,我希望在 EE4J 上做再次尝试。

最后一点,任何构建框架的开发人员都可以使用 JCache。它只依赖于 JDK 1.6 及更高版本,并不依赖于 CDI 容器,虽然它的确定义了一些开发人员可使用的注释。已经有很多开发人员在使用它,但我们希望会有更多。

最大的问题也许就是在 1.0 版本中的许可问题,我们在发布 JCache API 时,错误地使用了 JCP 许可证,而不是其它开源许可。据我了解,已经有几个项目和 OEM 因为许可问题而停滞不前。现在,我们已在 1.1 版本中解决了这个问题,改为使用 Apache 2 许可。大家可以参阅 https://github.com/jsr107/jsr107spec/blob/master/LICENSE.txt 。在所有源代码文件的头部,也可以看到许可的变化情况。

InfoQ:Hazelcast 是否计划最终将 JCache 以 API 形式添加到 MicroProfile 中(类似于 Metrics、CDI 和 Fault Tolerance 那样)?

Luck: 当然。我去年就已参与 MicroProfile 并致力于 Payara,以实现对 JCache 的集成。我还编写了规范草案,阐述如何将 JCache 集成到 MicroProfile 中。

这目前依然尚未实现,部分原因在于其它一些优先事项,部分原因也在于我上面提及的许可问题,因为在许可问题上存在着一些反对意见。现在这些问题都已解决,我想尽量将 API 的问题重新提上日程。

InfoQ:Hazelcast 和 JCache 的下一步工作是什么?

Luck: 随着 JCache 1.1 的发布,我们都会参与到下一个版本的工作中。该版本称为 3.10 版,将在 2018 年二月底推出。

最大规模的使用 JCache 用例是数百个节点的集群(横向扩展),以及数千 GB 的数据(使用了我们的纵向扩展版本)。因此,JCache 对于 Hazelcast 是非常重要的 API。

InfoQ:最后,能否更详细地解释一下您当前在 Hazelcast 的职责,也就是作为 CEO 的日常工作情况。是否其中有一些您必须要承担的责任,但却被您遗漏了?

Luck: 你大概可以从我上面介绍的参与工作情况,猜测到我还保留了 CTO 的头衔。因此,我是公司的 CEO 兼 CTO。我是在周末做 JCache 和 MicroProfile 的相关工作。所有的标准和开源工作同样也是在周末完成的。

Hazelcast 现在有 90 名雇员,并刚刚达到了四千万的月度使用数据统计(译者注:Hazelcast 使用 Phone Home 统计 IMDG 的使用情况),相比于 2014 年增长了 10 倍。因此,我的工作是很繁忙的。公司有工程和产品管理负责人,这样我可以倾向于选取一些自己可以参与的技术主题和项目,例如:

  • 我深度参与了 2017 年推出的 Hazelcast Jet 产品。
  • 在 3.10 版中,将会提供 FlakeID 及一些 CRDT 数据结构,这些数据结构具有拆分后可无损合并的特性。

也许很多人并不知道,我的前期职业生涯都是担任 KPMG 的特许会计师。我具有商业学位,以及七年的会计和破产领域工作经验。我曾在一些初创公司的执行委员会中任职。所以,当三年半前我成为公司的 CEO 时,我就从原来的工作中脱身,并投身于新的职业。我每天都履行一名 CEO 的正常职责,并有一个管理团队向我汇报。

我以自己是一名技术型 CEO 为荣。因此,我做事会稍有不同:

  • 我可以整合公司的全部资源去解决一些技术问题。
  • 我关注开源问题,每周我都会收到我们社区所有问答情况的报告,并亲自跟进论坛上一些未解答的问题。

相关资源

查看英文原文: Hazelcast Joins the Eclipse Foundation

公众号推荐:

跳进 AI 的奇妙世界,一起探索未来工作的新风貌!想要深入了解 AI 如何成为产业创新的新引擎?好奇哪些城市正成为 AI 人才的新磁场?《中国生成式 AI 开发者洞察 2024》由 InfoQ 研究中心精心打造,为你深度解锁生成式 AI 领域的最新开发者动态。无论你是资深研发者,还是对生成式 AI 充满好奇的新手,这份报告都是你不可错过的知识宝典。欢迎大家扫码关注「AI前线」公众号,回复「开发者洞察」领取。

2018-01-14 18:001725
用户头像

发布了 391 篇内容, 共 127.2 次阅读, 收获喜欢 256 次。

关注

评论

发布
暂无评论
发现更多内容

精彩回顾 | 金融服务数字化生态的开放与安全

FinClip

金融 数据安全

“天生要强”的迭代和蒙牛体育IP大满贯

科技新消息

你的产品越来越难卖?是时候关注价值流了

基调听云

DevOps APM 智能运维 基调听云

AI 加持实时互动|ZegoAvatar ⾯部表情随动技术解析

ZEGO即构

计算机视觉 即构科技 Avatar

东方园林应邀参加人民网《人民会客厅——两会时刻》栏目访谈

科技大数据

解决方案体现的是一个公司的深度思考能力

基调听云

APM 智能运维 业务运维 基调听云

启动报名2022南京智博会 第十四届南京国际智慧城市、物联网、大数据博览会

InfoQ_caf7dbb9aa8a

物联网

2022第十四届南京国际人工智能产品展会

InfoQ_caf7dbb9aa8a

大数据洞察画像自动化实践

网易云信

大数据

基调听云直播回顾 | 让业务系统不再深不可测

基调听云

APM 可观测性 智能运维 基调听云

AIOps(智能运维)中的指标算法场景分享 | 内附视频&ppt资料

云智慧AIOps社区

人工智能 AI 算法 运维 告警

Tapdata Cloud 2.1.2 来啦:大波细节已就绪!字段类型可批量修改、支持微信扫码登录、新增支持 Vika 为目标

tapdata

持续精进,性能突破,openGauss 3.0社区版正式发布

Geek_32c4d0

GaussDB(for openGauss) 社区版

沙龙:如何使信息系统更加稳定

博睿数据

Whats On Tap | Tapdata Cloud 如何助力大型家居连锁商城推进数字化经营?

tapdata

传统数据库改造难?华为云GaussDB“五心”解决

华为云数据库小助手

GaussDB

音视频开发—时间戳相关整理(时间基tbr,tbn,tbc)

Linux服务器开发

WebRTC ffmpeg SRS 音视频开发 流媒体服务器开发

TDengine 荣获 CSDN IT 技术影响力之星 “年度开源项目” 、 “年度IT领军人物”奖项

TDengine

数据库 tdengine 开源

ElasticSearch写入流程详解

IT巅峰技术

elasticsearch

北京市支援合作办公室党组书记、主任丁勇一行到正镶白旗调研京蒙协作工作

科技大数据

快速摆脱在线扩容难的噩梦,华为云数据库有妙计!企业级Redis 包年18元~

华为云数据库小助手

GaussDB GaussDB ( for Redis )

RISC-V开发板关机流程浅析

优麒麟

Linux 技术 risc-v开发板 优麒麟

蒙牛:以新营销和“更好”的年轻一代共鸣

科技新消息

SACA分析师认证总结

万里无云万里天

安装配置GPU训练环境

十三

SACE分析专家认证总结

万里无云万里天

蒙牛中国乳业产业园牧场建设项目全面复工

科技新消息

“中国牛”、“天生要强”翻新,2022蒙牛继续大满贯

科技新消息

WhiteSource 是否容易受到“Spring4Shell”漏洞 CVE-2022-22965 的影响?

龙智—DevSecOps解决方案

Spring4Shell WhiteSource

Postman中文版客户端

Liam

Jmeter Postman API swagger Mock

信通院牵头数列科技参与主编的《信息系统稳定性保障能力建设指南》正式发布

TakinTalks稳定性社区

Hazelcast加入Eclipse基金会_Java_Michael Redlich_InfoQ精选文章