搜索

简体中文

登录 Account

登录 / 注册 Account

网站

云原生应用

什么是 Quarkus?

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

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

对于那些寻求熟悉的构建环境并根据需要进行扩展的用户而言,Quarkus 的依赖注入基于 CDI(上下文和依赖注入),且包含一个扩展框架来扩展功能并将其配置、引导并集成到您的应用中。 

此外,它还向 GraalVM 提供正确信息,以便对应用进行原生编译。添加扩展就像添加依赖项一样容易;或者,您可以使用 Quarkus 工具。


专为开发人员而设计

Quarkus 的设计从一开始就立足于简单易用,其功能几乎不需要配置即可正常使用,并且能进行有效的扩展和合理的配置。 

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

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

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

容器优先

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

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

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

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


命令式和响应式代码

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

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

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

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

了解更多有关 Quarkus 和云原生的信息