輸入幾行代碼,輕松遷移 SpringBoot 應用上雲


Spring Boot 是由 Pivotal 團隊提供的框架,用來簡化新 Spring 應用的初始搭建以及開發過程。該框架使用了特定的方式來進行配置,從而使開發人員不再需要定義樣板化的配置,因此 Spring Boot 框架也成為了當前非常流行的框架。

如今,您可以通過 Serverless 應用控制台,進行極其簡單的代碼改造,就可以遷移您的 SpringBoot 應用上雲。

功能優勢

  • 低改造成本: Serverless 組件自動幫助用戶完成框架上雲的適配轉換,用戶只需聚焦業務核心代碼,進行極少的代碼改造,即可完成雲端部署。
  • 應用層級資源展示與管理: 部署成功后,用戶可以方便地通過 Serverless 應用控制台將查看和管理創建的雲端資源,無需多個頁面切換,實現多資源的集中管理。
  • 代碼持續更新: 支持持續構建,當文件夾上傳到的內容有更新時,可以自動觸發重新部署。
  • 應用層級監控圖表: 提供了應用層級的監控能力,用戶不僅可以看到每個資源的調用次數、錯誤次數等信息,還可以看到應用層級的監控指標,方便運維。

根據以下教程步驟,快速體驗框架遷移:

部署前提:賬號已開通 Serverless Framework:https://console.cloud.tencent.com/slsCoding DevOps:https://console.cloud.tencent.com/coding 服務,登陸控制台,會自動為您進行開通,開通流程不會產生何費用。

創建應用

基於模版創建

  1. 進入 Serverless 應用控制台,點擊【新建應用】,進入應用創建頁。

  1. 填入您的應用名稱,【創建方式】選擇【應用模版創建】,選擇 Spring Boot 框架

  1. 點擊【創建】,Serverless 控制台會自動開始為您部署應用,部署完成后,進入應用詳情頁,可以 查看創建的雲上資源、監控日志、部署記錄 等信息,也支持在“開發部署”頁面修改配置,重新部署。

導入已有項目

  1. 代碼改造:若使用自己的 SpringBoot 項目代碼進行部署需要進行如下的改造
  • 在項目 pom.xml 中新增騰訊雲函數(需為0.0.3版本)和fastjson的依賴(若自身項目有所用版本可不修改,若無則請依賴最新版本)。
<dependency>
    <groupId>com.tencentcloudapi</groupId>
    <artifactId>scf-java-events</artifactId>
    <version>0.0.3</version>
</dependency>

<dependency>
    <groupId>com.alibaba</groupId>
    <artifactId>fastjson</artifactId>
    <version>1.2.73</version>
</dependency>
  • 在項目的根目錄的 src/main/java 的任意目錄下新增一個執行方法入口,例如:在 src/main/java/example 目錄下新建 MyHandler.java
package example;

import com.qcloud.scf.runtime.AbstractSpringHandler;

public class MyHandler extends AbstractSpringHandler {
    @Override
    public void startApp() {
        System.out.println("start app");
        // 修改為springboot項目的入口主函數,例如: 入口為DemoApplication class下的main函數
        DemoApplication.main(new String[]{""});
    }
}
  • 將代碼用 Maven 創建 jar 部署包或者用 Gradle 創建 zip 部署包。

    需要將項目所有的依賴包一起打包,例如使用Maven則推薦用maven-shade-plugin進行打包,修改pom.xml中的plugin

    <plugin>
        <groupId>org.apache.maven.plugins</groupId>
        <artifactId>maven-shade-plugin</artifactId>
        <version>3.1.1</version>
        <configuration>
            <createDependencyReducedPom>false</createDependencyReducedPom>
        </configuration>
        <executions>
            <execution>
                <phase>package</phase>
                <goals>
                    <goal>shade</goal>
                </goals>
            </execution>
        </executions>
    </plugin>
    

雲函數關於 Maven 部署包的說明:點此查看
雲函數關於 Gradle 部署包的說明:點此查看

  • 修改 serverless.yml 文件中的 projectJarName 配置為打包后的 .jar/.zip 文件名,.jar/.zip 文件需要放與 serverless.yml 同級。

如:使用 Maven 打包后生成了 code.jar 文件,則 projectJarName 為 code.jar

  • 修改 serverless.yml 文件中的 functionConfighandler 配置,格式為 [package].[class]::mainHandler 其中 package 為更多層時用 . 連接。

如:如新建的 MyHandler.java 放在了 src/main/java/example 中,則 handler 為 example.MyHandler::mainHandler

  1. 進入 Serverless 應用控制台,點擊【新建應用】,進入應用創建頁。
  2. 填入您的應用名稱,【創建方式】選擇【導入已有項目】,選擇 Spring Boot 應用,直接導入您的已有項目。選擇【本地上傳】代碼上傳方式,上傳Maven 創建 jar 部署包或者用 Gradle 創建 zip 部署包。

  1. 點擊【創建】,Serverless 控制台會自動開始為您部署應用,部署完成后,進入應用詳情頁,可以查看創建的雲上資源、監控日志、部署記錄等信息,也支持在“開發部署”頁面修改配置,重新部署。

管理應用

應用創建完成后,可以在應用詳情頁,完成查看項目具體信息,主要支持以下幾部分管理功能。

1. 資源管理

在【資源列表】頁,支持查看當前應用為您創建的雲資源,並查看基本配置信息。

2. 開發部署

在應用詳情頁頂部,單擊【開發部署】,您可以輕松地實現應用的配置修改與二次部署上傳,目前SpringBoot 僅框架支持 本地上傳方式。

同時,您也可以在該頁面修改應用配置信息,點擊“保存”完成重新部署。

3. 應用監控

在【應用監控】頁面,您可以查看項目部署后輸出的基本信息、項目請求次數、項目報錯統計等多項監控指標,方便您輕松實現項目的管理運維。

4. 部署日志

在【部署日志】頁面,可以看到【通過控制台部署】或【自動觸發】的部署日志,以及部署結果。

到這里,只需要極其簡單的代碼改造,就完成了將您的 Spring Boot 應用遷移至 Serverless 的操作,並可以進行應用的監控管理,持續開發,享受 Serverless 帶來的眾多優勢。

歡迎前往控制台體驗!

One More Thing

立即體驗騰訊雲 Serverless Demo,領取 Serverless 新用戶禮包 👉 serverless/start

歡迎訪問:Serverless 中文網


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM