前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >一款云原生时代的高性能 Java 框架

一款云原生时代的高性能 Java 框架

作者头像
永恒君
发布2023-10-21 12:47:58
4130
发布2023-10-21 12:47:58
举报
文章被收录于专栏:开源小分队
在国内 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方式搭建

代码语言:javascript
复制
mvn io.quarkus.platform:quarkus-maven-plugin:3.3.3:create  -DprojectGroupId=org.acme  -DprojectArtifactId=getting-started

maven 使用阿里云镜像在拉取依赖时可能会存在某些依赖下载不了的问题,可以使用默认仓库,或者选用其他仓库使用。等待maven构建完成即可。

命令行方式启动

代码语言:javascript
复制
mvn compilie quarkus:dev

编写接口

代码语言:javascript
复制
@Path("/hello")
public class GreetingResource {

    @GET
    @Produces(MediaType.TEXT_PLAIN)
    public String hello() {
        return "hello";
    }
}

也可以直接通过 IDEA 直接构建项目,这里就不赘述了。

构建 NATIVE IMAGE

quarkus 的特色就是可以构建云原生应用,直接 Native 编译,运行速度大小等都比jar包要快,但是编译时间确实很长。

代码语言:javascript
复制
mvn package -Pnative -Dquarkus.native.container-build=true

创建容器

代码语言:javascript
复制
./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 对比

项目地址

代码语言:javascript
复制
https://github.com/quarkusio/quarkus

总结

Quarkus 可以快速启动,支持在容器和 Kubernetes 上自动伸缩微服务,而低内存利用率有助于优化微服务体系结构部署中的容器密度。同时,它还提供了更小的应用程序和容器镜像空间占用。

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2023-10-12,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 开源小分队 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 项目简介
  • 开始使用
    • 编写接口
    • 构建 NATIVE IMAGE
    • 创建容器
    • Spring Boot 和 Quarkus 对比
    • 项目地址
    • 总结
    相关产品与服务
    容器服务
    腾讯云容器服务(Tencent Kubernetes Engine, TKE)基于原生 kubernetes 提供以容器为核心的、高度可扩展的高性能容器管理服务,覆盖 Serverless、边缘计算、分布式云等多种业务部署场景,业内首创单个集群兼容多种计算节点的容器资源管理模式。同时产品作为云原生 Finops 领先布道者,主导开源项目Crane,全面助力客户实现资源优化、成本控制。
    领券
    问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档