概述
Java™ 一直是开发人员最喜爱的编程语言之一,但涉及到容器和 Kubernetes 时,它有不尽人意之处。Quarkus 让 700 多万 Java 开发人员有机会继续使用他们熟悉的框架构建新应用。
为什么要选择在红帽 OpenShift 上使用 Quarkus?
Quarkus 是红帽 OpenShift 原生集成的框架,Quarkus 应用专门运行于容器之中,这可以使部署更加容易。红帽 OpenShift 上的 Quarkus 可为开发人员提供其熟悉的编程工具,让他们可以使用红帽 CodeReady Workspaces 等 IDE 在集群上进行远程开发,集成托管配置,部署无服务器工作负载以及管理应用存储。
Quarkus 还可以与 Kubernetes API 集成,包括一个通用的 API 客户端和使用 Kubernetes ConfigMaps 的动态应用配置。当您购买红帽 OpenShift 时,您将会获得红帽订阅以及对 Quarkus 的支持。
红帽资源
Quarkus 和开发人员生产力
Quarkus 是专为开发人员而设计的。开发人员的生产力提高,意味着组织可以通过快速开发和部署新应用来更迅速地响应瞬息万变的市场状况。Quarkus 可通过提供多种实用功能提高开发人员的生产力,包括用于快速内循环开发的实时编码、与红帽 CodeReady Workspaces 等 IDE 的集成,以及超越传统 Java 标准的 API。通过 Quarkus,开发人员可以混合使用 MicroProfile、Spring Framework API 和其他现有的流行框架等混合标准,同时从 Quarkus 在 Kubernetes 上的高效率获益。
如何将我的 Spring Boot 应用迁移到 Quarkus 上?
您不仅能将当前 Spring Boot 应用迁移到 Quarkus 和红帽 OpenShift 上,而且迁移过程比您想象中更容易。应用迁移工具包(MTA)可以通过分析源代码甚至二进制文件来审核您的 Java 应用组合,涵盖广泛的转换路径(Java EE、JDK、Linux、容器化、Quarkus等),并能加快迁移过程。
MTA 5.1 版本提供了对 Spring Boot 迁移到 Quarkus 的广泛支持。
什么是 Quarkus?
Quarkus 是一个用于构建 Kubernetes 原生 Java 应用的框架;这些应用可以在传统的 Java 虚拟机(JVM)上运行,也可以作为原生编译的可执行文件运行。 Quarkus 可最大限度地减少启动时间和内存使用,并能与现有的 Java 框架和开发人员工具集成,助力快速开发和部署应用。Quarkus 可以帮助您在混合云中运行 Java 应用,包括无服务器、微服务、容器、Kubernetes 或其他应用类型。
Quarkus 的概念
Quarkus 是为传统的 Java 虚拟机(JVM)运行时(如 OpenJDK)创建紧凑高效的应用而设计的;它可以生成原生可执行二进制文件,以便实现更多的优化。 但是,关键在于要在构建阶段完成尽可能多的前期工作,因为这个阶段在应用的生命周期中只出现一次。在构建阶段,Quarkus 首先将应用编译成传统的 Java 字节码,接着加载并解析配置,处理注释,构建框架元模型,并将其全部连接到传统的可执行 Java 应用(JAR 文件)中。在运行时(即应用启动时),系统不需要消耗任何内存、CPU 或时间来完成这些步骤,因此大大减少了启动时间。
原生编译
Quarkus 应用可以编译成一个原生可执行文件,以获得更高的效率。 使用 Mandrel(GraalVM 的下游发行版),对应用进行分析,找到"死码"(在运行时永远不会访问的代码路径),并从应用的可执行文件中消除这些代码。这样一来,就可以创建小型轻量级的可运行应用,它们只需几十毫秒就能启动,在运行时仅需几十兆字节的内存。
红帽官方博客
获取有关我们的客户、合作伙伴和社区生态系统的最新信息。