当前位置: 首页 > wzjs >正文

php购物网站开发开发多久建造师网

php购物网站开发开发多久,建造师网,怎么建设免费网站域名,如皋住房和城乡建设局网站一、Java如何实现云原生应用? 传统的 Java 框架(如 Spring Boot)虽然功能强大,但在云原生场景下可能显得笨重。以下是一些更适合云原生的轻量级框架: Quarkus(推荐) 专为云原生和 Kubernetes 设计的 Java 框架。支持…

一、Java如何实现云原生应用?

传统的 Java 框架(如 Spring Boot)虽然功能强大,但在云原生场景下可能显得笨重。以下是一些更适合云原生的轻量级框架:

Quarkus(推荐)

 

  • 专为云原生和 Kubernetes 设计的 Java 框架。
  • 支持 GraalVM 原生镜像,启动速度快,内存占用低。
  • 与 Kubernetes、OpenShift 等云原生平台深度集成。

Micronaut

  • 另一个轻量级框架,专注于快速启动和低内存占用。
  • 支持 GraalVM 原生镜像。
  • 提供了对微服务、函数计算和云原生环境的支持。

 

二、Java 云原生实战

接下来,我们将从零开始,开发一个简单的Java云原生应用,并将其打包发布到本地Docker。

环境准备

  • 操作系统:Windows 11
  • 开发工具:IntelliJ IDEA
  • 框架:Quarkus
  • 容器工具:Docker Desktop for Windows

步骤 1:创建Quarkus项目

 

  1. 打开IntelliJ IDEA,点击“New Project”。
  2. 选择“Quarkus”作为项目类型,点击“Next”。
  3. 输入项目名称(例如quarkus-demo-mvn),选择项目路径,点击“Create”。
  4. 在依赖选择页面,勾选“REST””,点击“Finish”。

完成后可以看到目录结构如下,除了多了个 docker 目录其它和 springboot 是一样的。

 

后面会具体介绍 docker 目录下几个文件的区别。

步骤 2:编写代码

  1. src/main/java目录下,找到自动生成的ExampleResource.java文件。
  2. 修改代码如下:
package com.hanko;import jakarta.ws.rs.GET;
import jakarta.ws.rs.Path;
import jakarta.ws.rs.Produces;
import jakarta.ws.rs.core.MediaType;@Path("/hello")
public class ExampleResource {@GET@Produces(MediaType.TEXT_PLAIN)public String hello() {return "Hello from Quarkus REST";}
}

可以看到代码和我们以前不一样的地方就是:

  • 没有引用 spring 相关依赖
  • 注解使用的与 springboot 不一样
  • 可以看到它引用的都是 jakarta.ws.rs 的依赖也就是JAX-RS(Java API for RESTful Web Services)它是 Java 中用于开发和实现 RESTful Web 服务 的标准 API。它是 Jakarta EE(原 Java EE)的一部分,提供了一套基于注解的编程模型,使得开发者可以轻松地将 Java 类暴露为 RESTful 资源。
  • quarkus 项目没有 SpringBootApplication 注解的启动类

步骤 3:本地运行

 

  1. 一般 IDEA 创建的项目在 IDEA 最上面会有 quarkus logo 点击小三角就可以启动项目。
  2. 打开浏览器,访问http://localhost:8080/,你会看到页面显示“Hello, Quarkus!”。

 

  1. 点/hello 也就是我们代码中实现的 rest 服务

 

p.s. quarkus 项目还有个比较优秀的功能就是默认就支持热加载,我们修改代码后不需要像 springboot 项目一样手动重启才生效。

 

修改代码后,在浏览器访问服务时,到达代码时就会触发热加载,此次热加载启动只花了 0.429 秒。

关于启动这块,还有没有其它的启动方式呢?当然通过命令行或 maven 都是可以的,如

quarkus:dev

 

步骤 4:打包 quarkus 项目

一般打包为 quarkus 项目要分成使用本地 GraalVM 与不使用本地 GraalVM

  • 使用本地GraalVM
./mvnw package -Dnative
#mvn或mvnw都可以打包,使用mvnw还需要执行mvn wrapper:wrapper安装

这种比较麻烦的就是安装GraalVM 与Visual Studio。

GraalVM 的 native-image 工具依赖于 Visual Studio 的 C++ 编译器 (cl.exe) 和相关的构建工具。

 

就是还需要安装这些,安装完还需要配置 include、lib 环境变量。

  • 不使用本地GraalVM

Quarkus 会在 Docker 容器内完成所有操作

这种方式就简单多了,把本地可远程 docker 启动后,在 idea 里配置好

 

通过命令行

./mvnw package -Dquarkus.container-image.build=true

如果你不想用命令行的话也可以选择使用 idea 来打包,就是直接使用生命周期中的 package

 

至于-Dquarkus.container-image.build=true 这个参数就可以放到项目中的 pom.xml 中去

 

pom.xml

<properties><skipITs>true</skipITs><quarkus.native.container-build>true</quarkus.native.container-build><quarkus.native.enabled>true</quarkus.native.enabled>
</properties>

就可以直接打包好了

 

可以看到我已经打包完成,就是这个文件。看到这个 xx-runner 文件就说明已经成功了

 

 

步骤 5:生成Docker镜像

这时就要使用项目中的几个 dockerfile 文件

 

  • Dockerfile.jvm 适合传统的 Java 应用,兼容性好,构建速度快。
  • Dockerfile.native 适合云原生场景,启动速度快,内存占用低。
  • Dockerfile.native-microDockerfile.native 的基础上进一步优化了镜像大小和安全性,适合对容器化部署有更高要求的场景。

p.s. 这几个文件中的配置是直接 copy target 目录文件,所以我们要把 docker 目录中的这几个文件先拷贝到项目的根目录下,如上图。

打镜像时,直接在文件上右键运行就可以了,当然你也可以修改一下配置,比如给镜像增加个名称

 

这就是三个 Dockerfile 配置文件对应生成的 docker 镜像文件

 

可以看到传统的大小为 413M,而原生的可以达到 79M,缩小 5 倍多。之前很多人抱怨 springboot 太大,打成 docker 就更大了,这回 quarkus 成为你们的福音了。

我们再来启动 demo-native-micro 镜像试试,点击小三角后,展开设置界面设置个宿主机的端口

 

已经启动了

 

访问方式,应用正常

 

到这里就完成了。

通过这个教程,我们从零开始创建了一个简单的Java云原生应用,并将其打包发布到本地Docker。整个过程非常简单,但涵盖了云原生开发的核心步骤:选择轻量级框架、编写代码、容器化部署。

 

我是栈江湖,如果你喜欢此文章,不要忘记点赞+关注

 


文章转载自:

http://OjBqU80d.gmztd.cn
http://9HuDLtKj.gmztd.cn
http://WZobHCRi.gmztd.cn
http://FWX3zAJe.gmztd.cn
http://UeBjgiu7.gmztd.cn
http://3hyDrGOW.gmztd.cn
http://HCO7BUyg.gmztd.cn
http://V0ohI8jN.gmztd.cn
http://tT3XXJ2i.gmztd.cn
http://FNTbF4QI.gmztd.cn
http://v739NqaM.gmztd.cn
http://lKRSvMAy.gmztd.cn
http://R3fFrE4Z.gmztd.cn
http://zEu0Jrwj.gmztd.cn
http://hhjnwG5h.gmztd.cn
http://JuiWvrHk.gmztd.cn
http://WCciz7Yt.gmztd.cn
http://XQTBeYq0.gmztd.cn
http://OuQqhJyM.gmztd.cn
http://FJP2ImQ7.gmztd.cn
http://zwDb2KaN.gmztd.cn
http://khvzDfpl.gmztd.cn
http://EXsUw6G4.gmztd.cn
http://3iR3w4vT.gmztd.cn
http://W1kxZXyn.gmztd.cn
http://gHBdq1BK.gmztd.cn
http://05pFA8yf.gmztd.cn
http://xEDsdsye.gmztd.cn
http://u2KK9j3h.gmztd.cn
http://Mwg5dXuI.gmztd.cn
http://www.dtcms.com/wzjs/642623.html

相关文章:

  • 湖南网页设计培训网站建设中企动力科技股份有限公司淄博分公司
  • 准备建网站该怎么做国外建站数据
  • 网站网页免费申请营业执照
  • 做教育网站用什么颜色wordpress前缀有哪些
  • 网站数字化建设深圳市住房和建设局官网网址
  • 网上超市网站的设计与实现做网站租服务器吗
  • 网站首页如何设计网站开发宣传语
  • 中山网站推广服务长春市房产交易中心官网
  • 合作做网站的总结和心得监控摄像头做斗鱼直播网站
  • 济南槐荫区做网站的计算机编程培训班
  • 东莞外贸网站汕头发展
  • 福建省建设行业企业资质查询网站seo1网站查询
  • 天津做网站的费用网站图标素材
  • 如何设置网站公司动态长沙市做网站公司排名
  • 电子商务网站建设 ppt扁平化中文网站模板下载
  • 网站建设gowordpress seo插件教程
  • 外贸网站建站平台不同代码做的网站后期维护情况
  • 茂名网站建设价格代发关键词包收录
  • 企业网站建设费用定金怎么做账logo高清图片
  • 所有工程建设前会在哪个网站公式wordpress怎么采集
  • 重庆网站提示学做网站开发
  • 东软实训网站开发快速优化网站排名搜索
  • 网络公司网站首页图片短视频app有哪些
  • 福建专业网站建设欢迎咨询广州网站空间
  • 建站公司分析wordpress 装饰公司
  • 网站主机的类型网站定制开发微信运营
  • 黑龙江建设网官方网站三类人员网站优化排名首页
  • win7用iis搭建网站分销系统
  • 温岭 网站制作网站开发外包报价单
  • 私人网站建设做棋牌网站