上QQ阅读APP看本书,新人免费读10天
设备和账号都新为新人
2.1.2 Quarkus框架的架构和核心概念
当应用Quarkus框架时,很多功能都已经打包并封装起来。这些封装的功能就是以Quarkus核心为基础的Quarkus扩展组成的。在Quarkus运行时,几乎所有的东西都已经配置好了。启动时仅应用运行时配置属性(如数据库URL)即可。
Quarkus框架中的所有元数据都是由这些扩展计算和管理的。Quarkus框架的架构如图2-2所示。
Quarkus框架的架构分为3个层次,分别是JVM平台层、Quarkus核心框架层和Quarkus Extensions框架层。
(1)JVM平台层
JVM平台层主要包括HotSpot VM和SubstrateVM。HotSpot VM是Sun JDK和Open JDK中所带的虚拟机,Substrate VM主要用于Java虚拟机语言的AOT编译。
•图2-2 Quarkus框架的架构
(2)Quarkus核心框架层
Quarkus核心框架层包括Jandex、Gizmo、GraalVM、Arc、Quarkus Core等。Jandex是JBoss的库。Gizmo是Quarkus开源的字节码生成库。GraalVM是一个高性能的、支持多种编程语言的执行环境,可以显著提高应用程序的性能和效率,是微服务的理想选择。Arc(DI)是Quarkus的依赖注入管理,其内容是io.quarkus.arc,这是CDI的一种实现。
(3)Quarkus Extensions框架层
Quarkus Extensions框架层包括RESTEasy、Hibernate ORM、Netty、Eclipse Vert.x、Eclipse Micro-Profile等。