天天看點

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 應用

2. 本地編譯

fun build

可以對項目進行編譯建構:

fun build           
Serverless 實戰 —— 快速搭建 SpringBoot 應用

3. 本地運作

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

fun local start

可以在本地運作函數。

執行以下指令:

fun local start demo-springboot           

可以看到效果:

Serverless 實戰 —— 快速搭建 SpringBoot 應用

4. 本地單步調試

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

也可以在本地單步調試函數。

無論是 VSCode,還是 IDEA,均已提供函數計算運作、調試的支援,可以分别參考 VSCode 插件

serverless-vscode

,以及 IDEA 插件

Cloud Toolkit

考慮到讀者閱聽人,這裡我們不借助插件進行調試,更詳調試細節請參考:

https://yq.aliyun.com/articles/683683

操作效果如下:

Serverless 實戰 —— 快速搭建 SpringBoot 應用

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 應用

測試完成後,可以登陸

ROS 控制台

,一鍵删除剛才建立的 staging 資源棧,這樣,這個棧所包含的所有資源就都會被删除了。

參考閱讀

  1. Funcraft
  2. ROS
  3. VSCode
  4. CloudToolkit