本篇內(nèi)容主要講解“怎么遷移 Spring Boot 到函數(shù)計(jì)算”,感興趣的朋友不妨來(lái)看看。本文介紹的方法操作簡(jiǎn)單快捷,實(shí)用性強(qiáng)。下面就讓小編來(lái)帶大家學(xué)習(xí)“怎么遷移 Spring Boot 到函數(shù)計(jì)算”吧!
成都創(chuàng)新互聯(lián)公司2013年開(kāi)創(chuàng)至今,是專(zhuān)業(yè)互聯(lián)網(wǎng)技術(shù)服務(wù)公司,擁有項(xiàng)目成都網(wǎng)站設(shè)計(jì)、做網(wǎng)站網(wǎng)站策劃,項(xiàng)目實(shí)施與項(xiàng)目整合能力。我們以讓每一個(gè)夢(mèng)想脫穎而出為使命,1280元清徐做網(wǎng)站,已為上家服務(wù),為清徐各地企業(yè)和個(gè)人服務(wù),聯(lián)系電話(huà):13518219792
首先介紹下在本文出現(xiàn)的幾個(gè)比較重要的概念:
函數(shù)計(jì)算(Function Compute): 函數(shù)計(jì)算是一個(gè)事件驅(qū)動(dòng)的服務(wù),通過(guò)函數(shù)計(jì)算,用戶(hù)無(wú)需管理服務(wù)器等運(yùn)行情況,只需編寫(xiě)代碼并上傳。函數(shù)計(jì)算準(zhǔn)備計(jì)算資源,并以彈性伸縮的方式運(yùn)行用戶(hù)代碼,而用戶(hù)只需根據(jù)實(shí)際代碼運(yùn)行所消耗的資源進(jìn)行付費(fèi)。函數(shù)計(jì)算更多信息 參考。
Fun: Fun 是一個(gè)用于支持 Serverless 應(yīng)用部署的工具,能幫助您便捷地管理函數(shù)計(jì)算、API 網(wǎng)關(guān)、日志服務(wù)等資源。它通過(guò)一個(gè)資源配置文件(template.yml),協(xié)助您進(jìn)行開(kāi)發(fā)、構(gòu)建、部署操作。Fun 的更多文檔 參考。
備注: 本文介紹的技巧需要 Fun 版本大于等于 3.6.3。
Spring Boot 是由 Pivotal 團(tuán)隊(duì)在 2013 年開(kāi)始研發(fā),2014 年 4 月發(fā)布第一個(gè)版本的全新開(kāi)源的輕量級(jí)框架。它基于 Spring4.0 設(shè)計(jì),不僅繼承了 Spring 框架原有的優(yōu)秀特性,而且還通過(guò)簡(jiǎn)化配置來(lái)進(jìn)一步簡(jiǎn)化了 Spring 應(yīng)用的整個(gè)搭建和開(kāi)發(fā)過(guò)程。另外 Spring Boot 通過(guò)集成大量的框架使得依賴(lài)包的版本沖突,以及引用的不穩(wěn)定性等問(wèn)題得到了很好的解決。
本文介紹的方法,不需要安裝 Docker,僅僅安裝 Fun 即可,最簡(jiǎn)單的方式就是直接下載可執(zhí)行的二進(jìn)制文件。
安裝 Fun 到本機(jī)。詳情請(qǐng)參見(jiàn)安裝文檔。
執(zhí)行 fun --version
檢查安裝是否成功。
創(chuàng)建一個(gè) Spring Boot 項(xiàng)目,詳情請(qǐng)參見(jiàn) Spring Quickstart Guide,若有 Spring Boot 項(xiàng)目則跳過(guò)該步驟。
進(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
命令打包,編譯輸出類(lèi)似如下:
$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í)域名,您通過(guò)這個(gè)臨時(shí)域名直接訪(fǎng)問(wèn)剛剛部署的應(yīng)用。
注意:臨時(shí)域名僅僅用作演示以及開(kāi)發(fā),是有時(shí)效的,如果用作生產(chǎn),請(qǐng)綁定已經(jīng)阿里云備案的域名,可以參見(jiàn)綁定自定義域名。
本文介紹如何將 Spring Boot 應(yīng)用部署到函數(shù)計(jì)算。與傳統(tǒng)的部署方法相比,您可將傳統(tǒng)的 Spring Boot 應(yīng)用一鍵部署至遠(yuǎn)端直接用于生產(chǎn)。跳過(guò)購(gòu)買(mǎi)機(jī)器等步驟的同時(shí),還擁有了彈性伸縮、按量付費(fèi)和免運(yùn)維等特性。
到此,相信大家對(duì)“怎么遷移 Spring Boot 到函數(shù)計(jì)算”有了更深的了解,不妨來(lái)實(shí)際操作一番吧!這里是創(chuàng)新互聯(lián)網(wǎng)站,更多相關(guān)內(nèi)容可以進(jìn)入相關(guān)頻道進(jìn)行查詢(xún),關(guān)注我們,繼續(xù)學(xué)習(xí)!