写点什么

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:302764

评论

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

浅谈JVM和垃圾回收

SH的全栈笔记

Java JVM JVM虚拟机原理 垃圾回收算法

使用Agora SDK开发React Native视频通话App

声网Agora

RTC React Native 声网 RTE

为什么我愿意持续做这样一件看似没有价值的事情

leoay

坚持 持续写作 长期价值

NIST发布酒店业网络安全指南

Machine Gun

网络安全 信息安全 WEB安全

架构实战营 模块2 课后作业

༺NPE༻

一种提升流媒体服务DSS的IO并发性能方案

Changing Lin

签约计划 四月日更

【AI全栈二】视频流多目标多类别无延迟高精度高召回目标追踪

cv君

人工智能 AI 目标检测 视频跟踪 综述

对话声网 Agora 首席科学家钟声 :声网的未来规划和人才建议

小诚信驿站

采访 调查采访能力考核

关于数字人民币、加密货币,央行前行长周小川、副行长李波博鳌论坛发声

CECBC区块链专委会

数字货币

【全球年青人召集令】Hello World,Hello 2050

阿里巴巴云原生

容器 开发者 云原生 活动

翻译:《实用的Python编程》09_03_Distribution

codists

Python

浅谈在探索数分之路上的“数据思维”论述

小飞象@木木自由

数据分析 数据分析体系 数据思维 数据分析方法论

融合趋势下基于 Flink Kylin Hudi 湖仓一体的大数据生态体系

Apache Flink

flink

为什么微服务一定要有 API 网关?

xcbeyond

微服务 api 网关 4月日更

方寸之间,书写天地

石云升

4月日更 1 周年盛典 我和写作平台的故事 InfoQ 写作平台 1 周年

百度大脑3月新品推荐:EasyDL视频目标追踪全新发布

百度大脑

百度大脑 EasyDL

奇绩创坛2021秋季创业营开始报名

奇绩创坛

直击灵魂!阿里技术官甩出内部爆款性能优化实战笔记,理论实战一键搞定!

Java王路飞

Java spring 程序员 架构 面试

Python 爬虫实战(一) 爬取自如网租房信息

U+2647

python 爬虫 四月日更

Lombok初始使用及遇到的问题

风翱

lombok 【4 月日更】

【提纲】专访融云CTO杨攀 | 技术型人才的自我修炼

Python测试开发

调查采访能力考核

推进智慧城市建设 博睿数据亮相长三角城市数字化转型高峰论坛

博睿数据

数字化转型高峰论坛

Excelize 2.4.0 正式版发布, 新增 152 项公式函数支持

xuri

GitHub Excel 开源项目 Go 语言 Excelize

IPFS矿机投资靠谱吗?IPFS挖矿可靠吗?

投资矿机v:IPFS1234

IPFS矿机投资靠谱吗 IPFS挖矿可靠吗

斗智亦斗棋,零售云市场的“楚河汉界”突围赛

脑极体

面试4轮字节Java研发岗,最终拿下Offer(原题复盘)

码农之家

编程 程序员 互联网 面试 字节

精通比特币:为什么它对自由、财务和未来至关重要(上篇)

CECBC区块链专委会

比特币

如何从零开始学Python:(3)划重点:使用IDLE创建列表时需要注意的地方

广之巅

Python 四月日更

简单了解InnoDB底层原理

SH的全栈笔记

MySQL 数据库 innodb

深入理解Java虚拟机-HotSpot

华章IT

Java JVM 虚拟机

朱嘉明:算力产业正面临着一个十年的长周期

CECBC区块链专委会

数字经济

编译系统设计赛(华为毕昇杯)技术报告会|5月1日

编译系统设计赛(华为毕昇杯)技术报告会|5月1日

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