怎样迁移Spring Boot到函数计算

18次阅读
没有评论

今天就跟大家聊聊有关怎样迁移 Spring Boot 到函数计算,可能很多人都不太了解,为了让大家更加了解,丸趣 TV 小编给大家总结了以下内容,希望大家根据这篇文章可以有所收获。

首先介绍下出现的几个比较重要的概念:

函数计算(Function Compute): 函数计算是一个事件驱动的服务,通过函数计算,用户无需管理服务器等运行情况,只需编写代码并上传。函数计算准备计算资源,并以弹性伸缩的方式运行用户代码,而用户只需根据实际代码运行所消耗的资源进行付费。函数计算更多信息
参考。
Fun: Fun 是一个用于支持 Serverless 应用部署的工具,能帮助您便捷地管理函数计算、API 网关、日志服务等资源。它通过一个资源配置文件(template.yml),协助您进行开发、构建、部署操作。Fun 的更多文档
参考。

备注: 介绍的技巧需要 Fun 版本大于等于 3.6.3。
怎样迁移 Spring Boot 到函数计算  

背景信息

Spring Boot 是由 Pivotal 团队在 2013 年开始研发,2014 年 4 月发布第一个版本的全新开源的轻量级框架。它基于 Spring4.0 设计,不仅继承了 Spring 框架原有的优秀特性,而且还通过简化配置来进一步简化了 Spring 应用的整个搭建和开发过程。另外 Spring Boot 通过集成大量的框架使得依赖包的版本冲突,以及引用的不稳定性等问题得到了很好的解决。

步骤一:环境准备

本文介绍的方法,不需要安装 Docker,仅仅安装 Fun 即可,最简单的方式就是直接下载可执行的二进制文件。

安装 Fun 到本机。详情请参见
安装文档。

执行
fun –version 检查安装是否成功。

步骤二:迁移流程

创建一个 Spring Boot 项目,详情请参见
Spring Quickstart Guide,若有 Spring Boot 项目则跳过该步骤。

进入到刚刚创建的示例项目中或您的项目中。

 cd  project-name

本地运行项目。

MacOS、Linux 平台运行项目:

 ./mvnw spring-boot:run

windows 平台运行项目:

 mvnw spring-boot:run

在项目的根目录下执行 mvn package 命令打包,编译输出类似如下。。

 $mvn package
 [INFO] Scanning for projects...
 [INFO] 
 [INFO] ----------------------  com.example:Spring-Boot  -----------------------
 [INFO] Building Spring-Boot 0.0.1-SNAPSHOT
 [INFO] --------------------------------[ jar ]---------------------------------
 [INFO] 
 [INFO] --- maven-resources-plugin:3.1.0:resources (default-resources) @ Spring-Boot ---
 ... ... ...
 [INFO] 
 [INFO] Results:
 [INFO] 
 [INFO] Tests run: 1, Failures: 0, Errors: 0, Skipped: 0
 [INFO] 
 [INFO] 
 [INFO] --- maven-jar-plugin:3.1.2:jar (default-jar) @ Spring-Boot ---
 [INFO] Building jar: /Users/txd123/Desktop/Spring-Boot/target/Spring-Boot-0.0.1-SNAPSHOT.jar
 [INFO] 
 [INFO] --- spring-boot-maven-plugin:2.2.6.RELEASE:repackage (repackage) @ Spring-Boot ---
 [INFO] Replacing main artifact with repackaged archive
 [INFO] ------------------------------------------------------------------------
 [INFO] BUILD SUCCESS
 [INFO] ------------------------------------------------------------------------
 [INFO] Total time: 38.850 s
 [INFO] Finished at: 2020-03-31T15:09:34+08:00
 [INFO] ------------------------------------------------------------------------

部署项目到函数计算仅需要一个命令
fun deploy -y,Fun 会自动进入部署流程。

 $fun deploy -y
 current folder is not a fun project.
 Generating template.yml...
 Generate Fun project successfully!
 ========= Fun will use  fun deploy  to deploy your application to Function Compute! =========
 using region: cn-qingdao
 using accountId: ***********3743
 using accessKeyId: ***********Ptgk
 using timeout: 60
 Collecting your services information, in order to caculate devlopment changes...
 Resources Changes(Beta version! Only FC resources changes will be displayed):
 trigger httpTrigger deploy success
 function Spring-Boot deploy success
 service Spring-Boot deploy success
 Detect  DomainName:Auto  of custom domain  Domain 
 Request a new temporary domain ...
 The assigned temporary domain is 15639196-XXX.test.functioncompute.com,expired at 2020-04-10 15:19:56, limited by 1000 per day.
 Waiting for custom domain Domain to be deployed...
 custom domain Domain deploy success

部署完成后,您可以根据部署成功的日志看到,函数计算为您生成了临时域名,您通过这个临时域名直接访问刚刚部署的应用。

注意:临时域名仅仅用作演示以及开发,是有时效的,如果用作生产,请绑定已经阿里云备案的域名,可以参见
绑定自定义域名。

与传统的部署方法相比,您可将传统的 Spring Boot 应用一键部署至远端直接用于生产。跳过购买机器等步骤的同时,还拥有了弹性伸缩、按量付费和免运维等特性。

看完上述内容,你们对怎样迁移 Spring Boot 到函数计算有进一步的了解吗?如果还想了解更多知识或者相关内容,请关注丸趣 TV 行业资讯频道,感谢大家的支持。