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规范的框架有这么多: