本篇文章為大家展示了如何通過Serverless應(yīng)用控制臺輕遷移SpringBoot應(yīng)用上云,內(nèi)容簡明扼要并且容易理解,絕對能使你眼前一亮,通過這篇文章的詳細(xì)介紹希望你能有所收獲。
創(chuàng)新互聯(lián)公司服務(wù)項(xiàng)目包括安定網(wǎng)站建設(shè)、安定網(wǎng)站制作、安定網(wǎng)頁制作以及安定網(wǎng)絡(luò)營銷策劃等。多年來,我們專注于互聯(lián)網(wǎng)行業(yè),利用自身積累的技術(shù)優(yōu)勢、行業(yè)經(jīng)驗(yàn)、深度合作伙伴關(guān)系等,向廣大中小型企業(yè)、政府機(jī)構(gòu)等提供互聯(lián)網(wǎng)行業(yè)的解決方案,安定網(wǎng)站推廣取得了明顯的社會效益與經(jīng)濟(jì)效益。目前,我們服務(wù)的客戶以成都為中心已經(jīng)輻射到安定省份的部分城市,未來相信會繼續(xù)擴(kuò)大服務(wù)區(qū)域并繼續(xù)獲得客戶的支持與信任!
Spring Boot 是由 Pivotal 團(tuán)隊(duì)提供的框架,用來簡化新 Spring 應(yīng)用的初始搭建以及開發(fā)過程。該框架使用了特定的方式來進(jìn)行配置,從而使開發(fā)人員不再需要定義樣板化的配置,因此 Spring Boot 框架也成為了當(dāng)前非常流行的框架。
如今,您可以通過 Serverless 應(yīng)用控制臺,進(jìn)行極其簡單的代碼改造,就可以遷移您的 SpringBoot 應(yīng)用上云。
低改造成本:Serverless 組件自動幫助用戶完成框架上云的適配轉(zhuǎn)換,用戶只需聚焦業(yè)務(wù)核心代碼,進(jìn)行極少的代碼改造,即可完成云端部署。
應(yīng)用層級資源展示與管理:部署成功后,用戶可以方便地通過 Serverless 應(yīng)用控制臺將查看和管理創(chuàng)建的云端資源,無需多個(gè)頁面切換,實(shí)現(xiàn)多資源的集中管理。
代碼持續(xù)更新:支持持續(xù)構(gòu)建,當(dāng)文件夾上傳到的內(nèi)容有更新時(shí),可以自動觸發(fā)重新部署。
應(yīng)用層級監(jiān)控圖表:提供了應(yīng)用層級的監(jiān)控能力,用戶不僅可以看到每個(gè)資源的調(diào)用次數(shù)、錯(cuò)誤次數(shù)等信息,還可以看到應(yīng)用層級的監(jiān)控指標(biāo),方便運(yùn)維。
根據(jù)以下教程步驟,快速體驗(yàn)框架遷移:
部署前提:賬號已開通 Serverless Framework:https://console.cloud.tencent.com/sls與 Coding DevOps:https://console.cloud.tencent.com/coding服務(wù),登陸控制臺,會自動為您進(jìn)行開通,開通流程不會產(chǎn)生何費(fèi)用。
進(jìn)入 Serverless 應(yīng)用控制臺,點(diǎn)擊【新建應(yīng)用】,進(jìn)入應(yīng)用創(chuàng)建頁。
填入您的應(yīng)用名稱,【創(chuàng)建方式】選擇【應(yīng)用模版創(chuàng)建】,選擇 Spring Boot 框架。
點(diǎn)擊【創(chuàng)建】,Serverless 控制臺會自動開始為您部署應(yīng)用,部署完成后,進(jìn)入應(yīng)用詳情頁,可以 查看創(chuàng)建的云上資源、監(jiān)控日志、部署記錄等信息,也支持在“開發(fā)部署”頁面修改配置,重新部署。
代碼改造:若使用自己的 SpringBoot 項(xiàng)目代碼進(jìn)行部署需要進(jìn)行如下的改造
在項(xiàng)目 pom.xml
中新增騰訊云函數(shù)(需為0.0.3版本)和fastjson的依賴(若自身項(xiàng)目有所用版本可不修改,若無則請依賴最新版本)。
com.tencentcloudapi scf-java-events 0.0.3 com.alibaba fastjson 1.2.73
在項(xiàng)目的根目錄的 src/main/java
的任意目錄下新增一個(gè)執(zhí)行方法入口,例如:在 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項(xiàng)目的入口主函數(shù),例如: 入口為DemoApplication class下的main函數(shù) DemoApplication.main(new String[]{""}); } }
將代碼用 Maven 創(chuàng)建 jar
部署包或者用 Gradle 創(chuàng)建 zip 部署包。
需要將項(xiàng)目所有的依賴包一起打包,例如使用Maven
則推薦用maven-shade-plugin
進(jìn)行打包,修改pom.xml
中的plugin
:
org.apache.maven.plugins maven-shade-plugin 3.1.1 false package shade
云函數(shù)關(guān)于 Maven 部署包的說明:點(diǎn)此查看 云函數(shù)關(guān)于 Gradle 部署包的說明:點(diǎn)此查看
修改 serverless.yml 文件中的 projectJarName
配置為打包后的 .jar/.zip 文件名,.jar/.zip 文件需要放與 serverless.yml 同級。
如:使用 Maven 打包后生成了 code.jar 文件,則 projectJarName 為
code.jar
修改 serverless.yml 文件中的 functionConfig
的 handler
配置,格式為 [package].[class]::mainHandler
其中 package 為更多層時(shí)用 .
連接。
如:如新建的 MyHandler.java 放在了 src/main/java/example 中,則 handler 為
example.MyHandler::mainHandler
進(jìn)入 Serverless 應(yīng)用控制臺,點(diǎn)擊【新建應(yīng)用】,進(jìn)入應(yīng)用創(chuàng)建頁。
填入您的應(yīng)用名稱,【創(chuàng)建方式】選擇【導(dǎo)入已有項(xiàng)目】,選擇 Spring Boot 應(yīng)用,直接導(dǎo)入您的已有項(xiàng)目。選擇【本地上傳】代碼上傳方式,上傳Maven 創(chuàng)建 jar 部署包或者用 Gradle 創(chuàng)建 zip 部署包。
點(diǎn)擊【創(chuàng)建】,Serverless 控制臺會自動開始為您部署應(yīng)用,部署完成后,進(jìn)入應(yīng)用詳情頁,可以查看創(chuàng)建的云上資源、監(jiān)控日志、部署記錄等信息,也支持在“開發(fā)部署”頁面修改配置,重新部署。
應(yīng)用創(chuàng)建完成后,可以在應(yīng)用詳情頁,完成查看項(xiàng)目具體信息,主要支持以下幾部分管理功能。
在【資源列表】頁,支持查看當(dāng)前應(yīng)用為您創(chuàng)建的云資源,并查看基本配置信息。
在應(yīng)用詳情頁頂部,單擊【開發(fā)部署】,您可以輕松地實(shí)現(xiàn)應(yīng)用的配置修改與二次部署上傳,目前SpringBoot 僅框架支持 本地上傳方式。
同時(shí),您也可以在該頁面修改應(yīng)用配置信息,點(diǎn)擊“保存”完成重新部署。
在【應(yīng)用監(jiān)控】頁面,您可以查看項(xiàng)目部署后輸出的基本信息、項(xiàng)目請求次數(shù)、項(xiàng)目報(bào)錯(cuò)統(tǒng)計(jì)等多項(xiàng)監(jiān)控指標(biāo),方便您輕松實(shí)現(xiàn)項(xiàng)目的管理運(yùn)維。
在【部署日志】頁面,可以看到【通過控制臺部署】或【自動觸發(fā)】的部署日志,以及部署結(jié)果。
到這里,只需要極其簡單的代碼改造,就完成了將您的 Spring Boot 應(yīng)用遷移至 Serverless 的操作,并可以進(jìn)行應(yīng)用的監(jiān)控管理,持續(xù)開發(fā),享受 Serverless 帶來的眾多優(yōu)勢。
上述內(nèi)容就是如何通過Serverless應(yīng)用控制臺輕遷移SpringBoot應(yīng)用上云,你們學(xué)到知識或技能了嗎?如果還想學(xué)到更多技能或者豐富自己的知識儲備,歡迎關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道。