1.4 Quarkus框架概述

关于Quarkus的定义很多。本文采用官方定义:Quarkus是一个全栈的Kubernetes云原生Java开发框架,它配合Java虚拟机做本地应用编译,也是专门针对容器优化的Java框架。Quarkus促使Java成为Serverless(无服务器)、云原生和Kubernetes环境中的高效开发基础。

红帽官网定位Quarkus为超音速亚原子Java,宣称这是一个用于编写Java应用且容器优先的云原生框架,其核心特点包括:

■ 容器优先(Container First):基于Quarkus的Java应用程序占用较小的空间,非常适合在容器中运行。

■ 云原生(Cloud Native):支持在Kubernetes等环境中采用12要素。

■ 统一命令式和响应式(Unify Imperative and Reactive):在统一的编程模型下实现非阻塞式和命令式开发模式的协同。

■ 基于Java规范(Standards-Based):基于标准的Java规范和实现这些规范的翘楚框架,如RESTEasy和JAX-RS规范、Hibernate ORM和JPA规范、Netty、Eclipse Vert.x、Eclipse MicroProfile、Jakarta EE等。

■ 微服务优先(Microservice First):实现Java应用快速启动时间和Java代码的迅速迭代。

■ 开发者的乐趣(Developer Joy):以开发体验为中心,让开发者的应用程序能迅速生成、测试和投入应用。

Quarkus框架就是Java重新改造的产物,这是一个天生就基于云原生Java的开发框架,它配合Java虚拟机(JVM)进行本地应用编译并专门针对容器进行了优化,使Java成为Serverless(无服务器)、云原生和Kubernetes环境中的高效开发基础语言。可以说Quarkus推动了Java在云原生开发方面的运用,使Java这门古老的编程语言再一次焕发了青春。