今天就跟大家聊聊有關(guān)怎樣遷移Spring Boot到函數(shù)計(jì)算,可能很多人都不太了解,為了讓大家更加了解,小編給大家總結(jié)了以下內(nèi)容,希望大家根據(jù)這篇文章可以有所收獲。
我們提供的服務(wù)有:網(wǎng)站建設(shè)、成都做網(wǎng)站、微信公眾號(hào)開發(fā)、網(wǎng)站優(yōu)化、網(wǎng)站認(rèn)證、沐川ssl等。為千余家企事業(yè)單位解決了網(wǎng)站和推廣的問題。提供周到的售前咨詢和貼心的售后服務(wù),是有科學(xué)管理、有技術(shù)的沐川網(wǎng)站制作公司首先介紹下出現(xiàn)的幾個(gè)比較重要的概念:
函數(shù)計(jì)算(Function Compute): 函數(shù)計(jì)算是一個(gè)事件驅(qū)動(dòng)的服務(wù),通過函數(shù)計(jì)算,用戶無需管理服務(wù)器等運(yùn)行情況,只需編寫代碼并上傳。函數(shù)計(jì)算準(zhǔn)備計(jì)算資源,并以彈性伸縮的方式運(yùn)行用戶代碼,而用戶只需根據(jù)實(shí)際代碼運(yùn)行所消耗的資源進(jìn)行付費(fèi)。函數(shù)計(jì)算更多信息 參考。
Fun: Fun 是一個(gè)用于支持 Serverless 應(yīng)用部署的工具,能幫助您便捷地管理函數(shù)計(jì)算、API 網(wǎng)關(guān)、日志服務(wù)等資源。它通過一個(gè)資源配置文件(template.yml),協(xié)助您進(jìn)行開發(fā)、構(gòu)建、部署操作。Fun 的更多文檔 參考。
備注: 介紹的技巧需要 Fun 版本大于等于 3.6.3。
Spring Boot 是由 Pivotal 團(tuán)隊(duì)在 2013 年開始研發(fā),2014 年 4 月發(fā)布第一個(gè)版本的全新開源的輕量級(jí)框架。它基于 Spring4.0 設(shè)計(jì),不僅繼承了 Spring 框架原有的優(yōu)秀特性,而且還通過簡化配置來進(jìn)一步簡化了 Spring 應(yīng)用的整個(gè)搭建和開發(fā)過程。另外 Spring Boot 通過集成大量的框架使得依賴包的版本沖突,以及引用的不穩(wěn)定性等問題得到了很好的解決。
本文介紹的方法,不需要安裝 Docker,僅僅安裝 Fun 即可,最簡單的方式就是直接下載可執(zhí)行的二進(jìn)制文件。
安裝 Fun 到本機(jī)。詳情請參見 安裝文檔。
執(zhí)行
fun --version
檢查安裝是否成功。
創(chuàng)建一個(gè) Spring Boot 項(xiàng)目,詳情請參見 Spring Quickstart Guide,若有 Spring Boot 項(xiàng)目則跳過該步驟。
進(jìn)入到剛剛創(chuàng)建的示例項(xiàng)目中或您的項(xiàng)目中。
cd
本地運(yùn)行項(xiàng)目。
MacOS、Linux 平臺(tái)運(yùn)行項(xiàng)目:
./mvnw spring-boot:run
windows 平臺(tái)運(yùn)行項(xiàng)目:
mvnw spring-boot:run
在項(xiàng)目的根目錄下執(zhí)行mvn package
命令打包,編譯輸出類似如下。。
$mvn package [INFO] Scanning for projects... [INFO] [INFO] ----------------------< com.example:Spring-Boot >----------------------- [INFO] Building Spring-Boot 0.0.1-SNAPSHOT [INFO] --------------------------------[ jar ]--------------------------------- [INFO] [INFO] --- maven-resources-plugin:3.1.0:resources (default-resources) @ Spring-Boot --- ... ... ... [INFO] [INFO] Results: [INFO] [INFO] Tests run: 1, Failures: 0, Errors: 0, Skipped: 0 [INFO] [INFO] [INFO] --- maven-jar-plugin:3.1.2:jar (default-jar) @ Spring-Boot --- [INFO] Building jar: /Users/txd123/Desktop/Spring-Boot/target/Spring-Boot-0.0.1-SNAPSHOT.jar [INFO] [INFO] --- spring-boot-maven-plugin:2.2.6.RELEASE:repackage (repackage) @ Spring-Boot --- [INFO] Replacing main artifact with repackaged archive [INFO] ------------------------------------------------------------------------ [INFO] BUILD SUCCESS [INFO] ------------------------------------------------------------------------ [INFO] Total time: 38.850 s [INFO] Finished at: 2020-03-31T15:09:34+08:00 [INFO] ------------------------------------------------------------------------
部署項(xiàng)目到函數(shù)計(jì)算僅需要一個(gè)命令
fun deploy -y
,F(xiàn)un 會(huì)自動(dòng)進(jìn)入部署流程。
$fun deploy -y current folder is not a fun project. Generating template.yml... Generate Fun project successfully! ========= Fun will use 'fun deploy' to deploy your application to Function Compute! ========= using region: cn-qingdao using accountId: ***********3743 using accessKeyId: ***********Ptgk using timeout: 60 Collecting your services information, in order to caculate devlopment changes... Resources Changes(Beta version! Only FC resources changes will be displayed): trigger httpTrigger deploy success function Spring-Boot deploy success service Spring-Boot deploy success Detect 'DomainName:Auto' of custom domain 'Domain' Request a new temporary domain ... The assigned temporary domain is 15639196-XXX.test.functioncompute.com,expired at 2020-04-10 15:19:56, limited by 1000 per day. Waiting for custom domain Domain to be deployed... custom domain Domain deploy success
部署完成后,您可以根據(jù)部署成功的日志看到,函數(shù)計(jì)算為您生成了臨時(shí)域名 ,您通過這個(gè)臨時(shí)域名直接訪問剛剛部署的應(yīng)用。
注意:臨時(shí)域名僅僅用作演示以及開發(fā),是有時(shí)效的,如果用作生產(chǎn),請綁定已經(jīng)阿里云備案的域名,可以參見 綁定自定義域名。
與傳統(tǒng)的部署方法相比,您可將傳統(tǒng)的 Spring Boot 應(yīng)用一鍵部署至遠(yuǎn)端直接用于生產(chǎn)。跳過購買機(jī)器等步驟的同時(shí),還擁有了彈性伸縮、按量付費(fèi)和免運(yùn)維等特性。
看完上述內(nèi)容,你們對(duì)怎樣遷移Spring Boot到函數(shù)計(jì)算有進(jìn)一步的了解嗎?如果還想了解更多知識(shí)或者相關(guān)內(nèi)容,請關(guān)注創(chuàng)新互聯(lián)-成都網(wǎng)站建設(shè)公司行業(yè)資訊頻道,感謝大家的支持。