大家好,我是爱学习的了不起!
在国内 Spring 绝对是 Java 应用系统领域的首选框架,我们都是面向 Spring 开发,随着云原生时代的到来,Java 生态系统也要适应云原生开发趋势。
今天了不起给大家推荐一款 云原生时代的 Java 框架 – Quarkus。
项目简介
Quarkus 是一个为 Java 虚拟机(OpenJDK HotSpot)和原生编译而设计的全堆栈 Kubernetes 原生 Java 框架,用于专门针对容器优化 Java,并使其成为无服务器、云和 Kubernetes 环境的高效平台。
Quarkus的主要特点包括:
- 极快的启动时间和低内存消耗
- 支持将Java应用程序打包为本机可执行文件
- 提供了大量的扩展来支持各种技术栈,例如RESTful Web服务、Kafka、Hibernate等
- 支持微服务和Serverless应用程序开发
- 提供了开发工具和插件来简化开发过程
开始使用
准备环境:
- JDK 11+
- Apache Maven 3.9.3
使用Maven方式搭建
1 | mvn io.quarkus.platform:quarkus-maven-plugin:3.3.3:create -DprojectGroupId=org.acme -DprojectArtifactId=getting-started |
maven 使用阿里云镜像在拉取依赖时可能会存在某些依赖下载不了的问题,可以使用默认仓库,或者选用其他仓库使用。等待maven构建完成即可。
命令行方式启动
1 | mvn compilie quarkus:dev |
编写接口
1 |
|
也可以直接通过 IDEA 直接构建项目,这里就不赘述了。
构建 NATIVE IMAGE
quarkus 的特色就是可以构建云原生应用,直接 Native 编译,运行速度大小等都比jar包要快,但是编译时间确实很长。
1 | mvn package -Pnative -Dquarkus.native.container-build=true |
创建容器
1 | ./mvnw package -Dnative -Dquarkus.native.container-build=true -Dquarkus.container-image.build=true |
quarkus.native.container-build=true
允许在不安装 GraalVM 的情况下创建 Linux 可执行文件。
使用远程的Docker 守护进程,quarkus.native.container-build=true``quarkus.native.remote-container-build=true
Spring Boot 和 Quarkus 对比
项目地址
1 | https://github.com/quarkusio/quarkus |
总结
Quarkus 可以快速启动,支持在容器和 Kubernetes 上自动伸缩微服务,而低内存利用率有助于优化微服务体系结构部署中的容器密度。同时,它还提供了更小的应用程序和容器镜像空间占用。
写在最后
欢迎加我微信,邀请加入 交流群,目前群里都在讨论整理更多GPT玩法,教你如何更好的调教使用GPT,提升效率,甚至如何使用GPT赚钱等等,欢迎围观~
问君能有几多愁,开源项目解千愁,我们下期再见!
大家的点赞、收藏和评论对了不起非常重要,如文章对你有帮助还请转发支持下,谢谢!