迁移 Spring Boot 到函数计算
首先介绍下在本文出现的几个比较重要的概念:
函数计算(Function Compute): 函数计算是一个事件驱动的服务,通过函数计算,用户无需管理服务器等运行情况,只需编写代码并上传。函数计算准备计算资源,并以弹性伸缩的方式运行用户代码,而用户只需根据实际代码运行所消耗的资源进行付费。函数计算更多信息 参考。
Fun: Fun 是一个用于支持 Serverless 应用部署的工具,能帮助您便捷地管理函数计算、API 网关、日志服务等资源。它通过一个资源配置文件(template.yml),协助您进行开发、构建、部署操作。Fun 的更多文档 参考。
备注: 本文介绍的技巧需要 Fun 版本大于等于 3.6.3。
背景信息
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: 60Collecting your services information, in order to caculate devlopment changes...Resources Changes(Beta version! Only FC resources changes will be displayed):trigger httpTrigger deploy successfunction Spring-Boot deploy success service Spring-Boot deploy successDetect '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 应用一键部署至远端直接用于生产。跳过购买机器等步骤的同时,还拥有了弹性伸缩、按量付费和免运维等特性。
“阿里巴巴云原生关注微服务、Serverless、容器、Service Mesh 等技术领域、聚焦云原生流行技术趋势、云原生大规模的落地实践,做最懂云原生开发者的技术圈。”
迁移 Spring Boot 到函数计算相关推荐
- 如何迁移 Spring Boot 到函数计算
作者 | 田小单 首先介绍下在本文出现的几个比较重要的概念: 函数计算(Function Compute): 函数计算是一个事件驱动的服务,通过函数计算,用户无需管理服务器等运行情况,只需编写代码并上 ...
- 快速部署 Spring PetClinic 到函数计算平台
简介 首先介绍下在本文出现的几个比较重要的概念: 函数计算(Function Compute):[函数计算](https://statistics.functioncompute.com/?title ...
- Python Flask web 项目零改动迁移至阿里云函数计算
引言 最近尝试了一下阿里云的函数计算,整体感觉很好,主要是省钱!下面就简单聊一下,如何将 Python Flask 的 web 项目迁移至函数计算. 创建一个银行卡校验的 RestAPI 文件名:in ...
- Spring Boot 把 Maven 干掉了,正式拥抱 Gradle!
在国外某社交网站上有一个关于迁移 Spring Boot 迁移 Maven 至 Gradle 的帖子: 该贴子上也有很多人质疑:Maven 用的好好的,为什么要迁移至 Gradle? 虽然该贴子只是说 ...
- 函数计算支持应用中心功能
前言 函数计算是事件驱动的全托管计算服务.使用函数计算,您无需采购与管理服务器等基础设施,只需编写并上传代码.函数计算为您准备好计算资源,弹性地可靠地运行任务,并提供日志查询.性能监控和报警等功能.借 ...
- Spring Boot自动配置原理分析
一.写在前面 随着时间的迁移Spring Boot 越来越多的出现在Java 后端程序员的视野中,Spring Boot 之所以会那么流行,很大的一个原因是自身集成了很多的Bean,简化了传统Srin ...
- Spring Boot 使用 Kotlin Script Template 模板引擎kts 开发web应用
Spring Boot 使用 Kotlin Script Template 模板引擎kts 开发web应用 在 Spring Framework 5.0 M4 中引入了一个专门的Kotlin支持. K ...
- Spring Boot Serverless 实战系列“架构篇” | 光速入门函数计算
作者 |:西流(阿里云函数计算专家) Spring Boot 是基于 Java Spring 框架的套件,它预装了 Spring 一系列的组件,开发者只需要很少的配置即可创建独立运行的应用程序. 在云 ...
- Spring Boot Serverless 实战系列“架构篇” 首发 | 光速入门函数计算
简介:如何以 Serverless 的方式运行 Spring Boot 应用? 作者 | 西流(阿里云函数计算专家) Spring Boot 是基于 Java Spring 框架的套件,它预装了 Sp ...
最新文章
- GEMM与AutoKernel算子优化
- Storm入门(九)Storm常见模式之流聚合
- angular1x初始与架构演进(四)gulp配置+OcLazyLoad中资源MD5时间轴更新
- 推荐系统--基于用户的协同过滤算法
- COGS 930. [河南省队2012] 找第k小的数 主席树
- Android之layout属性介绍
- C++学习——string
- 扎金花游戏 PHP 实现代码之大小比赛
- LeetCode 75 颜色分类
- html body最小高度,CSS网页布局中的最小高度问题的解决方法
- 如何在 Mac 上下载 macOS Monterey public beta 6?
- 三菱GXWorks2 新建工程
- java txt导出_Java导出txt文件的方法
- 简单6步,手把手搭建MinDoc文档库
- 微星主板rgb_微星10款B550主板集体发布:标配PCIe 4.0、支持Zen3
- AMD GPU任务调度(2)—— 内核态分析
- 星星之火-45:5G技术地图
- C语言:从低位开始取出长整型变量s奇数位上的数,依次构成一个新数放在t中。
- 金庸武侠、四大名著的语言风格
- 启用mysql系统找不到指定的文件类型_net start mysql 发生系统错误2 系统找不到指定的文件...