10 月,开发者不可错过的开源大数据大会-2021 WeDataSphere 社区大会深圳站 了解详情
写点什么

Serverless 实战:快速搭建 SpringBoot 应用

2020 年 2 月 04 日

Serverless 实战:快速搭建 SpringBoot 应用

前言

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


函数计算(Function Compute): 函数计算是一个事件驱动的服务,通过函数计算,用户无需管理服务器等运行情况,只需编写代码并上传。函数计算准备计算资源,并以弹性伸缩的方式运行用户代码,而用户只需根据实际代码运行所消耗的资源进行付费。函数计算更多信息 参考

Fun: Fun 是一个用于支持 Serverless 应用部署的工具,能帮助您便捷地管理函数计算、API 网关、日志服务等资源。它通过一个资源配置文件(template.yml),协助您进行开发、构建、部署操作。Fun 的更多文档 参考

ROS: 阿里云资源编排服务(ROS)助您简化云计算资源的管理。您可以遵循 ROS 定义的模板规范,在模板中定义所需云计算资源的集合及资源间依赖关系。ROS 自动完成所有资源的创建和配置,实现自动化部署和运维。更多文档参考


备注: 本文介绍的技巧需要 Fun 版本大于等于 3.0.8。


环境准备

首先按照 Fun 的安装文档里介绍的方法将 Fun 安装到本机。


安装完成后,可以执行 fun --version 检查 Fun 是否安装成功。


快速部署

1.初始化项目

通过 fun init 可以进行项目的初始化:


fun init -n SpringBootDemo
复制代码


执行完毕,会在当前目录多出来一个名为 SpringBootDemo 的目录。


执行效果如下:



2. 本地编译

通过 fun build 可以对项目进行编译构建:


fun build
复制代码


执行效果如下:



3. 本地运行

备注:如果不需要本地运行,可以跳过这步


通过 fun local start 可以在本地运行函数。


执行以下命令:


fun local start demo-springboot
复制代码


可以看到效果:



4. 本地单步调试

备注:如果不需要本地单步调试,可以跳过这步


通过 fun local start 也可以在本地单步调试函数。


无论是 VSCode,还是 IDEA,均已提供函数计算运行、调试的支持,可以分别参考 VSCode 插件 serverless-vscode,以及 IDEA 插件 Cloud Toolkit


考虑到读者受众,这里我们不借助插件进行调试,更详调试细节请参考:https://yq.aliyun.com/articles/683683


操作效果如下:



5. 打包部署

接下来,我们使用 fun deploy --use-ros 的方式通过 ROS 进行部署:


fun package --oss-bucket fun-local-testfun deploy --use-ros --stack-name staging
复制代码


其中,这里的 --oss-bucket 名称为自己所拥有读写权限的 oss 的 Bucket 名称。


--stack-name 表示要部署的环境,可以基于该名称的不同,建立多套开发环境,比如 test、staging、prod。


我们下面演示如何快速创建一个 staging 环境,执行效果如下:



测试完成后,可以登陆 ROS 控制台,一键删除刚才创建的 staging 资源栈,这样,这个栈所包含的所有资源就都会被删除了。


本文转载自云栖社区。


原文链接


https://yq.aliyun.com/articles/721827?spm=a2c4e.11153959.teamhomeleft.135.30442eb1ZptfyJ


2020 年 2 月 04 日 10:303160

评论

发布
暂无评论
发现更多内容

记一次Kafka服务器宕机的真实经历!!

冰河

Docker kafka 运维 服务器 消息队列

研发效能度量引发的血案

CODING DevOps

团队协作 研发效能 CODING DevOps 腾讯云 CIF 峰会 度量

011云原生之事件驱动架构模式

穿过生命散发芬芳

云原生 10月日更

Flutter 无埋点SDK实现

GrowingIO技术专栏

flutter 前端 sdk SDK测试

微博评论架构设计

北海

架构训练营

《C++ Primer Plus第六版》读书笔记

IT蜗壳-Tango

10月日更

四面阿里巴巴如愿拿到offer定级P7,为此我筹备了半年

程序员 面试 前端 架构、 java

“无用发明家”告诉你,5G推开了三重门

脑极体

OpenCV学习(一):简介

轻口味

android OpenCV 音视频 10月日更

面试官,您确定让我展开讲HashMap吗?

互联网架构师小马

在GitHub热屠榜的Spring Cloud Alibaba源码笔记,竟然出自此人之手!

Java 架构 面试 程序人生 编程语言

SpringBoot 实战:优雅的使用枚举参数

看山

Sprint Boot 10月日更 EffectiveJava Effective Spring

阿里P8呕心沥血整理出这份32W字Java面试手册,竟然在Github上标星80K+

Java 架构 面试 程序人生 编程语言

「人工智能科普系列」【29】人类将如何变革--走出金字塔模型(上)

数据与智能

人工智能

微信频繁读取 iOS15 用户的相册?

池建强

微信 隐私

Redis与MySQL数据双写一致性工程落地案例

互联网架构师小马

MySQL redis

面试失败总结,这577道LeetCode题Java版答案你值得拥有

Java 架构 面试 程序人生 编程语言

想不明白!Github上竟然有阿里专家仅凭800页MySQL笔记火了

Java 架构 面试 程序人生 编程语言

研发应用--Prometheus

en

Prometheus

C++ 20语言特性

赖猫

c++ 后台开发 后端C++

逛街时偶然发现的阿里P8Java成长笔记,竟然在Github上标星90K+

Java 架构 面试 程序人生 编程语言

当被面试官问到:JUC并发编程——读写锁 ReadWriteLock

互联网架构师小马

接棒运动赛事!工厂里也有热血竞技?

脑极体

''内卷"把我逼成什么样了!气得我把 Github 上所有面试题都整理了一遍!

程序员 面试 后端 架构、 java

疫情反复,声网如何助力青岛教育局保障线上教学体验?

声网Agora

人工智能 网络

产品设计:娱乐化思维

石云升

产品设计 产品分析 10月日更

DjangoTask2

南湖职业技术学院机械狗

企业如何通过迁移到云平台来减少开支

浪潮云

云计算

云原生消息、事件、流超融合平台——RocketMQ 5.0 初探

阿里巴巴中间件

阿里云 RocketMQ 云原生 中间件 消息

浅谈云上攻防--SSRF漏洞带来的新威胁

腾讯安全云鼎实验室

漏洞分析 SSRF

空降Github榜单,火爆全网的Spring Security手册及源码笔记,竟然标星103K

Java 架构 面试 程序人生 编程语言

Serverless 实战:快速搭建 SpringBoot 应用-InfoQ