Quarkus入门体验,22ms启动一个Web服务()

  本篇文章为你整理了Quarkus入门体验,22ms启动一个Web服务()的详细内容,包含有 Quarkus入门体验,22ms启动一个Web服务,希望能帮助你了解 Quarkus入门体验,22ms启动一个Web服务。

  Quarkus是类似于Spring Boot的框架,可以方便大家进行Java开发。利用GraalVM的魔力,能更好的适应云原生的场景,极快的启动速度。

  在IDEA就直接有创建Quarkus项目的初始化工具,直接根据自己需要填好即可,非常方便:

  选择自己需要的一些组件和依赖,我这里只选择Web Reactive。这跟Spring Boot挺像的。

  生成的Java代码就一个文件,很简单小巧:

  创建成功后,把编译目标改为11,因为我用的是JDK11。通过mvn clean package尝试打包,下载依赖包。编译成功后,IDEA支持直接跑Quarkus程序,如下:

  启动成功如下:

  Quarkus在首页提供了一些开发信息和工具,如下:

  访问服务如下:

  直接修改Java代码:

  

@GET

 

  @Produces(MediaType.TEXT_PLAIN)

  public String hello() {

   return "Hello from pkslow.com";

  

 

  不用重启就可以生效:

  在Docker上运行

  打包成Native的Docker镜像,命令如下:

  

$ mvn clean package -Dnative -Dquarkus.native.container-build=true -Dquarkus.native.container-runtime=docker

 

  

 

  第一次可能比较长时间,需要下载镜像。但这种打镜像的方法是把文件放在镜像外面。通过-v的方式来运行。

  所以我们再通过下面命令来生成镜像:

  

 

 

  $ docker build -f src/main/docker/Dockerfile.native -t pkslow/quarkus-quickstart .

  Sending build context to Docker daemon 55.41MB

  Step 1/7 : FROM registry.access.redhat.com/ubi8/ubi-minimal:8.6

  8.6: Pulling from ubi8/ubi-minimal

  a6577091999b: Pull complete

  Digest: sha256:33931dce809712888d1a8061bfa676963f517daca993984afed3251bc1fb5987

  Status: Downloaded newer image for registry.access.redhat.com/ubi8/ubi-minimal:8.6

   --- abb1ba1bceab

  Step 2/7 : WORKDIR /work/

   --- Running in b1f6c5c33919

  Removing intermediate container b1f6c5c33919

   --- 44961ddcb521

  Step 3/7 : RUN chown 1001 /work chmod "g+rwX" /work chown 1001:root /work

   --- Running in e1c1a83e964f

  Removing intermediate container e1c1a83e964f

   --- 225868ceda2c

  Step 4/7 : COPY --chown=1001:root target/*-runner /work/application

   --- 55b2bba61da1

  Step 5/7 : EXPOSE 8080

   --- Running in 9b90514423eb

  Removing intermediate container 9b90514423eb

   --- 00f981b47b0e

  Step 6/7 : USER 1001

   --- Running in bd5d1b723784

  Removing intermediate container bd5d1b723784

   --- 14d55159d2d9

  Step 7/7 : CMD ["./application", "-Dquarkus.http.host=0.0.0.0"]

   --- Running in c60a96727644

  Removing intermediate container c60a96727644

   --- 77fdda464a6a

  Successfully built 77fdda464a6a

  Successfully tagged pkslow/quarkus-quickstart:latest

  

 

  通过Docker来启动:

  

$ docker run -i --rm -p 8080:8080 pkslow/quarkus-quickstart

 

  __ ____ __ _____ ___ __ ____ ______

   --/ __ \/ / / / _ / _ \/ //_/ / / / __/

   -/ /_/ / /_/ / __ / , _/ , / /_/ /\ \

  --\___\_\____/_/ _/_/_/_/_\____/___/

  2022-11-01 07:36:38,557 INFO [io.quarkus] (main) quarkus-quickstart 1.0-SNAPSHOT native (powered by Quarkus 2.13.3.Final) started in 0.022s. Listening on: http://0.0.0.0:8080

  2022-11-01 07:36:38,558 INFO [io.quarkus] (main) Profile prod activated.

  2022-11-01 07:36:38,558 INFO [io.quarkus] (main) Installed features: [cdi, resteasy-reactive, smallrye-context-propagation, vertx]

  

 

  可以看出启动相当快,才用了22ms。访问对应的网页和接口也是正常的。

  代码请看GitHub: https://github.com/LarryDpk/pkslow-samples

  References:

  CREATING YOUR FIRST APPLICATION

  BUILDING A NATIVE EXECUTABLE

  以上就是Quarkus入门体验,22ms启动一个Web服务()的详细内容,想要了解更多 Quarkus入门体验,22ms启动一个Web服务的内容,请持续关注盛行IT软件开发工作室。

郑重声明:本文由网友发布,不代表盛行IT的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。

留言与评论(共有 条评论)
   
验证码: