写点什么

IBM 发布 Open Liberty,开源的 Java 微服务运行时

  • 2017-10-16
  • 本文字数:2571 字

    阅读完需:约 8 分钟

最近,IBM 发布了 Open Liberty WebSphere Liberty 的开源实现—进一步体现了 IBM 为开源社区所做出的贡献。这一版本支持基于 Eclipse MicroProfile Java EE API 构建微服务和云原生应用。

WebSphere Liberty 于 2012 年问世,是一个轻量级的小型应用服务器,用于在 Docker、Kunernetes 或 Cloud Foundry 上部署符合 Java EE 7 规范的应用程序。IBM 网站上对其进行了描述:

眺望未来,我们相信 Java、开放标准和开源的组合是构建卓越应用程序的最佳方式。因此,我们在去年联合了 Red Hat Payara Tomitribe 和其他一些公司一起致力于推动使用 Java 来开发微服务,我们还为我们的 MicroProfile 和 Java EE 运行时创建了开源版本。

这并非这些公司之间唯一的一次合作。除了 OpenLiberty,IBM 还发布了他们的开源 JVM Eclipse Open J9 。在今年早些时候,IBM 还与 Google 及 Lyft 一起开发了开源项目 Istio —一个用于监控微服务的服务网格。

Open Liberty 与 Open J9 及 Istio 组合而成的技术栈可以用于开发 Java 微服务和云原生应用。开发人员还可以使用 Open Liberty Tools —一系列轻量级的工具,用于开发、组装和部署应用程序到 Open Liberty。Open Liberty 的代码库可以在 GitHub 上找到。

InfoQ 采访了 IBM WebSpere 和 Liberty 运行时架构师 Alasdair Nottingham ,谈论了 Open Liberty 相关话题。

InfoQ:Eclipse Open J9 和 Istio 服务网格是怎样被集成到 Open Liberty 中的?

Alasdair Nottingham:Open Liberty 与符合 TCK 标准的任何一种 JVM 兼容。不过目前 Liberty 还不能完全兼容 Java SE 9,而 Eclipse Open J9 只能运行 Java SE 9 的字节码。这是我们需要去解决的一个问题。因为 Eclipse Open J9 是基于 IBM JVM 开发的,所以如果它与 Open Liberty 能够支持相同版本的 Java SE,那么它们的结合就是天衣无缝的。从我们的经验来看,相比在 Hotspot 上运行 Open Liberty,J9 在内存占用和启动速度方面更具优势。

Istio 意欲在 Docker 或 Kubernetes 环境中支持多种语言运行时,它通过在运行时与外部环境中间扮演协调者角色来实现这一目的。这也意味着,用户可以在不修改应用程序代码的情况下,在发生故障时使用服务选择、服务超时、重试和回路断路器功能。

在这种架构下,Open Liberty 可以很容易地与 Istio 运行在一起。Open Liberty 也支持 Eclipse MicroProfile Fault Tolerance 规范,为应用程序提供了类似的容错 API,开发人员可以选择使用 Istio 或自己编写 Java 代码来处理这些问题。如果 Istio 已经配置了这些容错模式,那么就可以停用 Open Liberty 中的这些功能,因为没有必要让应用程序和 Istio 做相同的事情。

InfoQ:MicroProfile 和 Java EE 8 之间的相互影响程度是怎样的?

Nottingham:Java EE 8 是一个非常重要但也很有限的更新版本,而 Eclipse MicroProfile 正在探索新的 API,用于增强 Java EE 的实际应用。

Eclipse MicroProfile 对 Java EE 的未来已经产生了重大影响,Eclipse 软件基金在这方面的进展速度惊人。最新的 EE4J 章程显示,随着 Java EE 移交给 Eclipse,MicroProfile 将会对 Java EE 的发展产生主要影响。

InfoQ:在过去的一年中,为了加快 Java 在微服务方面的应用,你都与 Red Hat、Payara 和 Tomitribe 做了哪些工作?会继续和他们合作下去吗?

Nottingham:这是一次非常有成效的合作。虽然过渡到 Eclipse 对每一个人来说都是一个巨大挑战,但我们在 MicroProfile 1.2 上所取得的进展很让人感到欣慰。每个人都使出浑身解数,希望在 JavaOne 上有所斩获。不管是观众还是参与者,都能从中体会到乐趣。

我们的合作当然会继续下去。这对于 Eclipse MicroProfile 的成功和 Eclipse Enterprise for Java(EE4J)的成功来说都是至关重要的。

InfoQ:Java 每六个月的发布周期对 Open Liberty 的开发和后续的发布有什么影响吗?

Nottingham:是否对 Open Liberty 的发布周期产生影响要看 JVM 发生了哪些变更。从我们的经验来看,更新到新版本字节码会占用比较多的时间。

Java EE 重度使用了字节码操作,所以更新到新版本字节码需要做大量的工作。如果每次发布新版的 Java 时都伴随字节码的更新,那么我们就很难跟上步伐。从过去的经验看,我们使用了差不多六个月时间更新到新版的 Java,但效果并不理想。所以,我希望字节码的变更不会太频繁。

InfoQ:是什么让 Open Liberty 有别于其他的应用服务器?

Nottingham:Open Liberty 与其他应用程序有一些不同之处。首先是配置的简易性。我们努力让配置变得简单易用,配置文件可以被提交到版本控制系统里,这对于 DevOps 来说是一个好消息,因为配置文件可以和代码放在一起了。另一方面,我们的应用服务器可以为应用程序提供它们所需要的功能。

Open Liberty 从一开始就被设计成可以为应用程序提供必要功能的应用服务器,我们把它们叫作功能单元。我们为 Java EE 和 MicroProfile 提供了所有功能,而如果你只需要其中的一小部分功能,那么就可以得到一个小型而快速的服务器运行时。

InfoQ:关于 Open Liberty,还有其他什么可以分享的吗?

Nottingham:从功能方面来看,我们要支持 Java EE 8。从 GitHub 上可以看出,我们正在开发 Servlet 4、JAX-RS 2.1、JPA 2.2、JSON-B 和 JSON-P。其他特性也会陆续添加进来。

Open Liberty 还支持 Eclipse MicroProfile 1.2。我们的开发团队还参与了新的 EE4J 项目,所以我很期待我们到时候能够提供一个实现版本,并支持 Java SE 9。

Holly Cummins 是 IBM Bluemix Garage London 的技术组长,也是 WebSphere Liberty Profile 的前任交付经理,她也分享了她在 OpenLiberty 方面的经验:

我个人对我们在 Liberty 上所做的工作感到非常自豪,看到它在 GitHub 上开源也感到很激动。Open Liberty 有一些非常棒的模块化和动态特性。运行在本地时,它支持热部署,可以在无需重新启动的情况下增加、移除或重配置整个服务器。运行在云端时,它的模块化特性可以让未使用的功能不占用任何磁盘或内存。另外,我也很喜欢它那清晰且统一的配置方式。

有趣的是,Liberty 是第一个可以运行在 Raspberry Pi 上的应用服务器(我们随后也让它运行在 Android 设别上)。而 Liberty 这种适合小型部署的特点却也让它成为大规模云原生应用的最佳选择,这不得不说是一种悖论。

查看英文原文: IBM Introduces Open Liberty, an Open Source Runtime for Java Microservices

2017-10-16 19:003024
用户头像

发布了 322 篇内容, 共 139.9 次阅读, 收获喜欢 145 次。

关注

评论

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

直播预告|一站式MLOps meetup,洞见行业前沿!聆听第四范式、AWS、腾讯、百度的MLOps落地、演进、实践经验

星策开源社区

百度 腾讯 AWS 第四范式 MLOps

IM开发者的零基础通信技术入门(十一):为什么WiFi信号差?一文即懂!

JackJiang

即时通信 即时通讯IM

牛皮!仅凭“阿里爸爸”大厂面试参考笔记,去携程Java三面,已OC

Java面试那些事儿

Java 编程 架构 面试 java面试

好用的3D建筑设计软件:Vectorworks 2023激活版

真大的脸盆

Mac Mac 软件 3D建筑设计软件 建筑设计

人工智能快速发展趋势下,中国该如何应对?

GPU算力

Airwallex 基于 Flink 打造实时风控系统

Apache Flink

大数据 flink 实时计算

时序数据库入门 | 时序数据库的特点及与传统数据库的区别详解

Greptime 格睿科技

时序数据库 tsdb 时序数据

内网升级“高效安全”利器!统信软件发布私有化更新管理平台

统信软件

安全 操作系统

众筹互助模式DApp开发智能合约系统搭建

薇電13242772558

智能合约

如何用秒验提升用户体验和转换率?

MobTech袤博科技

Lion : 超越 AdamW 的优化算法

Zilliz

模型训练 算法优化

模块9设计电商秒杀系统

KING

高速服务区智慧公厕

光明源智慧厕所

从ChatGPT谈AI发展方向:全力助推乡村振兴事业快速发展

加入高科技仿生人

人工智能 AI 低代码 乡村振兴 ChatGPT

天翼云坚持科技创新,加速算力普惠!

天翼云开发者社区

从 TDengine 存储引擎的变化探讨——为何大家应尽快切换 3.0 版本?

TDengine

tdengine 时序数据库 国产数据库

智能会计成就价值财务

用友BIP

智能会计 价值财务 业财合一 用友智能财务

旅游景区智慧公厕,提升旅游新体验

光明源智慧厕所

让业务容器化更安全便捷,阿里云容器镜像服务 ACR 推出免费制品中心

阿里巴巴中间件

阿里云 容器 云原生

软件测试/测试开发丨智能遍历测试在回归测试与健壮性测试的应用

测试人

软件测试 自动化测试 测试开发 自动遍历

数据库ChatGPT插件来了,SQL使用体验进一步起飞

第四范式开发者社区

人工智能 机器学习 数据库 开源 特征

开源项目的演进会遇到哪些“坑”?KubeVela 从发起到晋级 CNCF 孵化的全程回顾

阿里巴巴中间件

阿里云 开源 云原生 KubeVela cncf

智能化司库平台助力财资管理升级

用友BIP

用友 智能会计 智能财务 价值财务 全球司库

玻璃幕墙LED显示屏原理及应用领域指南

Dylan

安装 结构 LED显示屏 屏幕

怎样仿真才能驱动研发

Openlab_cosmoplat

工业互联网 开源社区 工业 仿真 仿真软件

再获信创认证!MIAOYUN荣获“产业技术创新奖”和“优秀信创企业奖”双重奖项

MIAOYUN

信创 信创云 MIAOYUN 产业技术创新奖 优秀信创企业奖

持续创新,厚积薄发,用友引领企业数智化服务产业

用友BIP

用友 用友BIP

ChatGPT编程秀-1:从一个爬虫开始

仝键

JavaScript 架构 TDD java ChatGPT

IDEA使用宏实现保存即编译

源字节1号

软件开发 开源治理 小程序开发

Milvus 2.3 Massively Accelerates AI-Powered Applications With NVIDIA GPU Support

Zilliz

gpu nvidia 非结构化数据 Milvus 向量数据库

重塑大融合体系,立体推进“业财合一”

用友BIP

智能会计 价值财务 业财合一 用友智能财务 业财融合

IBM发布Open Liberty,开源的Java微服务运行时_Java_Michael Redlich_InfoQ精选文章