Categories
程式開發

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 的目錄。

執行效果如下:

Serverless 實戰:快速搭建 SpringBoot 應用 1

2. 本地編譯

通過 fun build 可以對項目進行編譯構建:

fun build

執行效果如下:

Serverless 實戰:快速搭建 SpringBoot 應用 2

3. 本地運行

備註:如果不需要本地運行,可以跳過這步

通過 fun local start 可以在本地運行函數。

執行以下命令:

fun local start demo-springboot

可以看到效果:

Serverless 實戰:快速搭建 SpringBoot 應用 3

4. 本地單步調試

備註:如果不需要本地單步調試,可以跳過這步

通過 fun local start 也可以在本地單步調試函數。

無論是 VSCode,還是 IDEA,均已提供函數計算運行、調試的支持,可以分別參考 VSCode 插件 serverless-vscode,以及 IDEA 插件 Cloud Toolkit

考慮到讀者受眾,這裡我們不借助插件進行調試,更詳調試細節請參考:https://yq.aliyun.com/articles/683683

操作效果如下:

Serverless 實戰:快速搭建 SpringBoot 應用 4

5. 打包部署

接下來,我們使用 fun deploy –use-ros 的方式通過 ROS 進行部署:

fun package --oss-bucket fun-local-test
fun deploy --use-ros --stack-name staging

其中,這裡的 --oss-bucket 名稱為自己所擁有讀寫權限的 oss 的 Bucket 名稱。

--stack-name 表示要部署的環境,可以基於該名稱的不同,建立多套開發環境,比如 test、staging、prod。

我們下面演示如何快速創建一個 staging 環境,執行效果如下:

Serverless 實戰:快速搭建 SpringBoot 應用 5

測試完成後,可以登陸 ROS 控制台,一鍵刪除剛才創建的 staging 資源棧,這樣,這個棧所包含的所有資源就都會被刪除了。

本文轉載自云棲社區。

原文鏈接

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