Quarkus 是 RedHat 的一款轻量级的 Java 微服务框架 ( MicroProfile 规范 )。
Quarkus 可以借助 GraalVM 编译成二进制文件,提供了优秀的容器化(Kubernetes)整合能力,相较于传统开发框架(Spring Boot)有着更快的启动速度、更小的内存消耗、更短的服务响应。
Quarkus的标签:RedHat / JVM / GraalVM / Vert.x (Netty) / MicroProfile / No Servlet /启动快 /占用内存小 / 容器 / Kubernetes
本文是阅读总结关键信息的笔记,更详细请阅读原文。
【如何借助 Quarkus 和 MicroProfile 实现微服务】
【英文原文:Implementing Microservicilities with Quarkus and MicroProfile】 
Quarkus 实现 MicroProfile 规范微服务特性
MicroProfile 规范有些 API 是基于Jakarta EE(也就是以前的 Java EE)规范,其他的则由Java社区开发。
Quarkus 集成了 MicroProfile 规范,将企业级 Java 生态系统转移到了微服务架构中。
- API,Quarkus 使用大家熟知的 JAX-RS规范来定义RESTful web API。在底层,Quarkus 使用了 RESTEasy 实现,直接与Vert.X框架协作,而不是使用Servlet相关的技术。
- 调用,Quarkus 使用 MicroProfile Rest Client规范来访问外部的(HTTP)服务。它提供了一种类型安全的方式借助 HTTP 协议访问 RESTful 服务,在这个过程中,它会使用JAX-RS 2.0的一些 API 以实现一致性和更简单的重用。
- 认证,Quarkus 集成了 MicroProfile JWT RBAC Security规范,以使用JWT Bearer Token来保护服务。
- 容错性,Quarkus 将 MicroProfile Fault Tolerance规范与如下的注解集成到了一起,以便于处理故障相关的问题
- 日志,Quarkus 使用 Graylog扩展日志格式(Graylog Extended Log Format,GELF)与Fluentd进行了集成。
- 监控,Quarkus 集成了 Micrometer实现应用监控。Micrometer为几乎所有流行的监控系统提供了一个简单的入口,从而能够让我们在避免供应商锁定的前提下instrument基于JVM的应用。
- 跟踪,Quarkus 应用使用 OpenTracing规范来为互相交互的Web应用提供分布式跟踪能力。
示例代码1:
| 1 | 
 | 
示例代码2:
| 1 | import javax.ws.rs.Consumes; | 
入门可以参考此文:【Quarkus云原生应用初体验】
如下图,类似 Quarkus 实现MicroProfile规范的框架有这么多: