javascript
Serverless 实战 —— 快速搭建 SpringBoot 应用
前言
首先介紹下在本文出現(xiàn)的幾個(gè)比較重要的概念:
函數(shù)計(jì)算(Function Compute): 函數(shù)計(jì)算是一個(gè)事件驅(qū)動(dòng)的服務(wù),通過函數(shù)計(jì)算,用戶無(wú)需管理服務(wù)器等運(yùn)行情況,只需編寫代碼并上傳。函數(shù)計(jì)算準(zhǔn)備計(jì)算資源,并以彈性伸縮的方式運(yùn)行用戶代碼,而用戶只需根據(jù)實(shí)際代碼運(yùn)行所消耗的資源進(jìn)行付費(fèi)。
Fun: Fun 是一個(gè)用于支持 Serverless 應(yīng)用部署的工具,能幫助您便捷地管理函數(shù)計(jì)算、API 網(wǎng)關(guān)、日志服務(wù)等資源。它通過一個(gè)資源配置文件(template.yml),協(xié)助您進(jìn)行開發(fā)、構(gòu)建、部署操作。
ROS: 阿里云資源編排服務(wù)(ROS)助您簡(jiǎn)化云計(jì)算資源的管理。您可以遵循ROS定義的模板規(guī)范,在模板中定義所需云計(jì)算資源的集合及資源間依賴關(guān)系。ROS自動(dòng)完成所有資源的創(chuàng)建和配置,實(shí)現(xiàn)自動(dòng)化部署和運(yùn)維。
備注: 本文介紹的技巧需要 Fun 版本大于等于 3.0.8。
環(huán)境準(zhǔn)備
首先按照 Fun 的安裝文檔里介紹的方法將 Fun 安裝到本機(jī)。
安裝完成后,可以執(zhí)行?fun --version?檢查 Fun 是否安裝成功。
快速部署
1.初始化項(xiàng)目
通過?fun init?可以進(jìn)行項(xiàng)目的初始化:
fun init -n SpringBootDemo執(zhí)行完畢,會(huì)在當(dāng)前目錄多出來(lái)一個(gè)名為 SpringBootDemo 的目錄。
執(zhí)行效果如下:
2. 本地編譯
通過?fun build?可以對(duì)項(xiàng)目進(jìn)行編譯構(gòu)建:
fun build執(zhí)行效果如下:
3. 本地運(yùn)行
備注:如果不需要本地運(yùn)行,可以跳過這步
通過?fun local start?可以在本地運(yùn)行函數(shù)。
執(zhí)行以下命令:
fun local start demo-springboot可以看到效果:
4. 本地單步調(diào)試
備注:如果不需要本地單步調(diào)試,可以跳過這步
通過?fun local start?也可以在本地單步調(diào)試函數(shù)。
無(wú)論是 VSCode,還是 IDEA,均已提供函數(shù)計(jì)算運(yùn)行、調(diào)試的支持,可以分別參考 VSCode 插件?serverless-vscode,以及 IDEA 插件?Cloud Toolkit。
考慮到讀者受眾,這里我們不借助插件進(jìn)行調(diào)試,更詳調(diào)試細(xì)節(jié)請(qǐng)參考:https://yq.aliyun.com/articles/683683
操作效果如下:
5. 打包部署
接下來(lái),我們使用?fun deploy --use-ros?的方式通過 ROS 進(jìn)行部署:
fun package --oss-bucket fun-local-test fun deploy --use-ros --stack-name staging其中,這里的?--oss-bucket?名稱為自己所擁有讀寫權(quán)限的 oss 的 Bucket 名稱。
--stack-name?表示要部署的環(huán)境,可以基于該名稱的不同,建立多套開發(fā)環(huán)境,比如 test、staging、prod。
我們下面演示如何快速創(chuàng)建一個(gè) staging 環(huán)境,執(zhí)行效果如下:
測(cè)試完成后,可以登陸?ROS 控制臺(tái),一鍵刪除剛才創(chuàng)建的 staging 資源棧,這樣,這個(gè)棧所包含的所有資源就都會(huì)被刪除了。
原文鏈接
本文為云棲社區(qū)原創(chuàng)內(nèi)容,未經(jīng)允許不得轉(zhuǎn)載。
總結(jié)
以上是生活随笔為你收集整理的Serverless 实战 —— 快速搭建 SpringBoot 应用的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 使用datax同步cassandra数据
- 下一篇: Knative 实战:基于阿里云 Kaf