遷移 Spring Boot 到函式計算
首先介紹下在本文出現的幾個比較重要的概念:
函式計算(Function Compute): 函式計算是一個事件驅動的服務,通過函式計算,使用者無需管理伺服器等執行情況,只需編寫程式碼並上傳。函式計算準備計算資源,並以彈性伸縮的方式執行使用者程式碼,而使用者只需根據實際程式碼執行所消耗的資源進行付費。函式計算更多資訊 參考。 Fun: Fun 是一個用於支援 Serverless 應用部署的工具,能幫助您便捷地管理函式計算、API 閘道器、日誌服務等資源。它通過一個資源配置檔案(template.yml),協助您進行開發、構建、部署操作。Fun 的更多文件 參考。
備註: 本文介紹的技巧需要 Fun 版本大於等於 3.6.3。
背景資訊
Spring Boot 是由 Pivotal 團隊在 2013 年開始研發,2014 年 4 月釋出第一個版本的全新開源的輕量級框架。它基於 Spring4.0 設計,不僅繼承了 Spring 框架原有的優秀特性,而且還通過簡化配置來進一步簡化了 Spring 應用的整個搭建和開發過程。另外 Spring Boot 通過整合大量的框架使得依賴包的版本衝突,以及引用的不穩定性等問題得到了很好的解決。
步驟一:環境準備
本文介紹的方法,不需要安裝 Docker,僅僅安裝 Fun 即可,最簡單的方式就是直接下載可執行的二進位制檔案。
- 安裝 Fun 到本機。詳情請參見安裝文件。
- 執行
fun --version
檢查安裝是否成功。
步驟二:遷移流程
建立一個 Spring Boot 專案,詳情請參見 Spring Quickstart Guide,若有 Spring Boot 專案則跳過該步驟。
-
進入到剛剛建立的示例專案中或您的專案中。
cd <project-name>
-
本地執行專案。
- MacOS、Linux 平臺執行專案:
./mvnw spring-boot:run
- windows 平臺執行專案:
mvnw spring-boot:run
- MacOS、Linux 平臺執行專案:
-
在專案的根目錄下執行
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] ------------------------------------------------------------------------
-
部署專案到函式計算僅需要一個命令
fun deploy -y
,Fun 會自動進入部署流程。$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
部署完成後,您可以根據部署成功的日誌看到,函式計算為您生成了臨時域名 ,您通過這個臨時域名直接訪問剛剛部署的應用。
注意:臨時域名僅僅用作演示以及開發,是有時效的,如果用作生產,請繫結已經阿里雲備案的域名,可以參見 繫結自定義域名。
總結
本文介紹如何將 Spring Boot 應用部署到函式計算。與傳統的部署方法相比,您可將傳統的 Spring Boot 應用一鍵部署至遠端直接用於生產。跳過購買機器等步驟的同時,還擁有了彈性伸縮、按量付費和免運維等特性。
“阿里巴巴雲原生關注微服務、Serverless、容器、Service Mesh 等技術領域、聚焦雲原生流行技術趨勢、雲原生大規模的落地實踐,做最懂雲原生開發者的技術圈。”
- 加微信實戰群請加微信(註明:實戰群):gocnio
相關文章
- 遷移 Express 到函式計算Express函式
- 為什麼我要遷移 SpringBoot 到函式計算Spring Boot函式
- 為什麼我要遷移SpringBoot到函式計算Spring Boot函式
- 快速遷移 Next.js 應用到函式計算JS函式
- Spring Boot Serverless 實戰系列“架構篇”首發 | 光速入門函式計算Spring BootServer架構函式
- func-spring-boot-starter 匿名函式託管Springboot函式
- 匿名函式託管 func-spring-boot-starter函式Springboot
- 使用Liquibase和Spring Boot進行資料庫遷移的一站式指南 - reflectoringUISpring Boot資料庫
- 部署基於pythonwsgiweb框架的工程到函式計算PythonWeb框架函式
- 匿名函式託管器 spring-boot-func-starter函式Springboot
- 移植 Python 量化交易 TA-Lib 庫到函式計算Python函式
- 函式計算——應用初探函式
- 從雲端計算到函式計算函式
- 如何從Spring Security 5遷移到Spring Security 6/Spring Boot 3Spring Boot
- 手把手教您將libreoffice移植到函式計算平臺函式
- Spring Boot + 事務鉤子函式,打造高效支付系統!Spring Boot函式
- 10、Spring Boot分散式Spring Boot分散式
- Spring Boot 從1.5遷移到2.0.5 - DZone JavaSpring BootJava
- 34-樣式遷移
- 溫溼度計算露點函式函式
- Spring Boot 2 (十):Spring Boot 中的響應式程式設計和 WebFlux 入門Spring Boot程式設計WebUX
- Spring Boot中使用JPA呼叫自定義的資料庫函式Spring Boot資料庫函式
- Spring MVC 到 Spring Boot 的簡化之路MVCSpring Boot
- pycuda-一些計算函式函式
- 函式計算-HelloWorld應用開發函式
- 計算 CRC32 的逆函式函式
- 如何把 ThinkPHP 5 的專案遷移到阿里雲函式計算來應對流量洪峰?PHP阿里函式
- 遷移WSL Ubuntu到其他目錄Ubuntu
- 使用GoldenGate 遷移Oracle到PostgreSQL/LightDBGoOracleSQL
- 從 0 到 1,打造新一代開源函式計算平臺函式
- 專業boot Camp遷移助手:Winclone Pro 9 for MacbootMac
- Spring Boot(十一)Redis整合從Docker安裝到分散式Session共享Spring BootRedisDocker分散式Session
- 0基礎讀頂會論文(組會ppt版)-在Deviceless邊緣計算環境中實現移動感知的無縫虛擬函式遷移dev函式
- 如何遷移開源 Flink 任務到實時計算Flink版?實戰手冊來幫忙!
- 外層函式的變數直接被巢狀函式引用計算函式變數巢狀
- Spring Boot中兩個資料庫遷移工具Liquibase和Flyway的比較 - 4lexSpring Boot資料庫UI
- 如何把thinkphp5的專案遷移到阿里雲函式計算來應對流量洪峰?PHP阿里函式
- 函式計算Python連線SQLServer小結函式PythonSQLServer