Jump to section

什么是 Quarkus?

Copy URL

Quarkus 是一个为 Java 虚拟机(JVM)和原生编译而设计的全堆栈 Kubernetes 原生 Java 框架,用于专门针对容器优化 Java,并使其成为无服务器Kubernetes 环境的高效平台。

Quarkus 可与常用 Java 标准、框架和库协同工作,例如 Eclipse MicroProfile、Spring、Apache Kafka、RESTEasy(JAX-RS)、Hibernate ORM(JPA)、Spring、Infinispan、Camel 等。

Quarkus 的依赖注入解决方案基于 CDI(上下文和依赖注入),且包含一个扩展框架来扩展功能并将其配置、引导并集成到您的应用中。添加扩展就像添加依赖项一样容易;或者,您可以使用 Quarkus 工具。

此外,它还向 GraalVM(一种通用虚拟机,用于运行以多种语言(包括 Java 和 JavaScript)编写的应用)提供正确信息,以便对应用进行原生编译。

 

The referenced media source is missing and needs to be re-embedded.

四大理由告诉您为何要试试 Quarkus

Java™ 仍然是许多开发人员选择的编程语言,但 Kubernetes 和无服务器等云原生技术的发展却对此发起了挑战。了解为什么说 Quarkus 是开发人员使用 Knative 和无服务器架构的必备 Java 框架。

Quarkus 的设计从一开始就立足于简单易用,其功能几乎不需要配置即可正常使用。

开发人员可以为其应用选择所需的 Java 框架,而这些应用可以在 JVM 模式下运行,也可以在原生模式下进行编译和运行。

为了方便开发人员的工作,Quarkus 还包含以下功能:

  • 实时编码,旨在让开发人员能够即时检查代码更改的影响并快速进行故障排除
  • 带有嵌入式托管事件总线的统一命令式和响应式编程
  • 统一配置
  • 简单的原生可执行文件生成

无论是将应用托管在公共云上还是内部托管的 Kubernetes 集群中,快速启动和低内存消耗等特性对于降低总体主机成本来说都至关重要。

Quarkus 的开发遵从了容器优先的原则,这意味着它已通过以下方式针对降低内存使用和加快启动时间进行了优化:

  • 鼎力支持 Graal/SubstrateVM
  • 构建时元数据处理
  • 减少反射的使用
  • 本机映像预启动

因此,Quarkus 构建的应用的内存消耗只有传统 Java 的 1/10,而且启动时间更快(快了 300 倍),这些都大大降低了云资源的成本。

在设计上,Quarkus 能够在开发应用时无缝地结合熟悉的命令式代码和非阻塞、响应式样式。

这对于习惯使用命令式模型而不想切换风格的 Java 开发人员以及使用云原生/响应式方法的开发人员都非常有用。

Quarkus 开发模型可以适应您正在开发的任何应用。

对于在新的无服务器架构、微服务、容器、Kubernetes、功能即服务(FaaS)和云环境中运行 Java 而言,Quarkus 堪称是一个有效的解决方案,因为在创建它时就充分考虑了所有这些因素。

继续阅读

文章

有状态 VS 无状态

要判断一个应用为有状态或无状态,取决于交互状态的记录时长以及该信息所需的存储方式。

文章

什么是 Quarkus?

Quarkus 是一个为 Java 虚拟机(JVM)和原生编译而设计的 Kubernetes 原生 Java 堆栈,专门根据容器而对 Java 进行了优化。

文章

什么是无服务器?

无服务器是一种云原生开发模型,可使开发人员专注构建和运行应用,而无需管理服务器。

Illustration - mail

获取更多类似的内容

免费订阅我们的 Red Hat Shares 通讯邮件