日韩av黄I国产麻豆传媒I国产91av视频在线观看I日韩一区二区三区在线看I美女国产在线I麻豆视频国产在线观看I成人黄色短片

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 >

快速部署 Spring PetClinic 到函数计算平台

發(fā)布時間:2025/3/20 42 豆豆
生活随笔 收集整理的這篇文章主要介紹了 快速部署 Spring PetClinic 到函数计算平台 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

簡介

首先介紹下在本文出現(xiàn)的幾個比較重要的概念:

函數(shù)計算(Function Compute):[函數(shù)計算](https://statistics.functioncompute.com/?title=快速部署 Spring PetClinic 到函數(shù)計算平臺&author=倚賢&src=article&url=http://fc.console.aliyun.com/?fctraceid=YXV0aG9yJTNEJUU1JTgwJTlBJUU4JUI0JUE0JTI2dGl0bGUlM0QlRTUlQkYlQUIlRTklODAlOUYlRTklODMlQTglRTclQkQlQjIlMjBTcHJpbmclMjBQZXRDbGluaWMlMjAlRTUlODglQjAlRTUlODclQkQlRTYlOTUlQjAlRTglQUUlQTElRTclQUUlOTclRTUlQjklQjMlRTUlOEYlQjA=)是一個事件驅(qū)動的服務,通過函數(shù)計算,用戶無需管理服務器等運行情況,只需編寫代碼并上傳。函數(shù)計算準備計算資源,并以彈性伸縮的方式運行用戶代碼,而用戶只需根據(jù)實際代碼運行所消耗的資源進行付費。函數(shù)計算更多信息[參考](https://statistics.functioncompute.com/?title=快速部署 Spring PetClinic 到函數(shù)計算平臺&author=倚賢&src=article&url=https://help.aliyun.com/product/50980.html)。

Funcraft:Funcraft 是一個用于支持 Serverless 應用部署的工具,能幫助您便捷地管理函數(shù)計算、API 網(wǎng)關、日志服務等資源。它通過一個資源配置文件(template.yml),協(xié)助您進行開發(fā)、構建、部署操作。Fun 的更多文檔參考。

spring-petclinic:PetClinic 是一個 Spring Boot 、Spring MVC 和 Spring Data 結合使用的示例項目,是學習 Spring Boot 經(jīng)典案例。


Spring 框架是由一些小而美的 Java 框架以松散耦合的方式集成在一起。這些 Java 框架可以獨立或者集成使用以構建許多不同類型的工業(yè)級應用程序。PetClinic 示例應用程序是為了說明如何使用 Spring 應用程序框架來構建簡單且功能強大的面向數(shù)據(jù)庫的應用程序。它演示了 Spring 核心功能用法。

使用控制反轉(zhuǎn)和 MVC 的 Web 表示層,基于 JavaBeans 的應用程序配置,通過 JDBC,Hibernate 或 JPA 進行數(shù)據(jù)庫訪問,基于 JMX 聲明式事務管理的應用程序監(jiān)視,使用 AOP 數(shù)據(jù)驗證來支持但不依賴于表示層的 Spring 框架提供了大量有用的基礎結構,以簡化應用程序開發(fā)工作。

本應用模板使用函數(shù)計算的 [Custom 運行時](https://statistics.functioncompute.com/?title=快速部署 Spring PetClinic 到函數(shù)計算平臺&author=倚賢&src=article&url=https://help.aliyun.com/document_detail/132044.html)和 RDS-MySQL 云服務作為 Spring Boot 應用的運行環(huán)境。借助于資源編排服務(ROS)的能力,該模板會自動創(chuàng)建 VPC、VSwitch、SecurityGroup、RDS 和綁定了 HTTP Trigger 的函數(shù),以及綁定到 HTTP 函數(shù)的自定義域名,并自動配置好這些服務,以達到迅速上線開箱即用的效果。

注意:

  • 需要提供一個域名(支持二級域名),如果部署在國內(nèi) Region 該域名需要在阿里云備案,然后把域名的 CNAME 記錄指向 12345.cn-shanghai.fc.aliyuncs.com,其中 12345 換成您的 AccountID,如果是在國外 Region 可以免去備案環(huán)節(jié),請查看更多參考
  • 模板創(chuàng)建的 RDS-MySQL 云服務選用了最便宜的按量付費實例,費用大約為:¥0.236/小時,使用前需要確保賬戶有 100 元的余額,并且試用完成以后建議通過 ROS 控制臺刪除該應用,以免產(chǎn)生超出預期的費用。
  • 快速開始

    下面我們借助于函數(shù)計算的應用中心,快速地將 Spring PetClinic 快速部署到函數(shù)計算平臺。

  • 打開函數(shù)計算 [Spring PetClinic 應用詳情頁](https://statistics.functioncompute.com/?title=快速部署 Spring PetClinic 到函數(shù)計算平臺&author=倚賢&src=article&url=https://fc.console.aliyun.com/fc/applications/cn-hongkong/template/Spring-PetClinic#intro)。如果您尚未開通函數(shù)計算服務可能需要先,開通服務是免費的,另外函數(shù)計算有每月免費額度,試用服務不會產(chǎn)生費用。
  • 滾動到 [Spring PetClinic 應用詳情頁](https://statistics.functioncompute.com/?title=快速部署 Spring PetClinic 到函數(shù)計算平臺&author=倚賢&src=article&url=https://fc.console.aliyun.com/fc/applications/cn-hongkong/template/Spring-PetClinic#intro)的最底部,點擊“立即部署”按鈕。
  • 填寫應用名稱和域名,其中域名需要先去設定 DNS 的 CNAME 記錄,然后點擊“部署”按鈕。
  • 稍等片刻,等到部署成功以后,拷貝 URL 網(wǎng)址。
  • 在瀏覽器中打開上面拷貝的網(wǎng)址
  • 工作原理

    本示例中,我們打算使用函數(shù)計算的 [Custom 運行時](https://statistics.functioncompute.com/?title=快速部署 Spring PetClinic 到函數(shù)計算平臺&author=倚賢&src=article&url=https://help.aliyun.com/document_detail/132044.html) 來移植 Petclinic 項目。顧名思義, Custom Runtime 就是自定義的執(zhí)行環(huán)境, 用戶基于 Custom Runtime 可以完成以下目標:

    • 可以隨心所欲持定制個性化語言執(zhí)行環(huán)境(例如 Golang、Lua、Ruby)以及各種語言的小版本(例如 Python3.7、Nodejs12 )等,打造屬于自己的自定義 Runtime
    • 現(xiàn)有的 Web 應用或基于傳統(tǒng)開發(fā) Web 項目基本不用做任何改造,即可將項目一鍵遷移到函數(shù)計算平臺

    該應用的架構圖如下:

    定制化開發(fā)

    依賴工具

    本項目是在 MacOS 下開發(fā)的,涉及到的工具是平臺無關的,對于 Linux 和 Windows 桌面系統(tǒng)應該也同樣適用。在開始本例之前請確保如下工具已經(jīng)正確的安裝,更新到最新版本,并進行正確的配置。

    • Docker
    • Funcraft

    Fun 工具依賴于 docker 來模擬本地環(huán)境。

    對于 MacOS 用戶可以使用 homebrew 進行安裝:

    brew cask install docker brew tap vangie/formula brew install fun

    Windows 和 Linux 用戶安裝請參考:

  • https://github.com/aliyun/fun/blob/master/docs/usage/installation.md
  • 安裝好后,記得先執(zhí)行 fun config 初始化一下配置。

    注意, 如果你已經(jīng)安裝過了 funcraft,確保 funcraft 的版本在 3.2.1 以上。

    $ fun --version 3.2.1

    初始化

    git clone https://github.com/awesome-fc/spring-petclinic-for-serverless cd spring-petclinic-for-serverless

    編譯打包

    mvn package -Dmaven.test.skip=true

    本地運行

    MYSQL_HOST=localhost MYSQL_PORT=3306 MYSQL_DBNAME=petclinic MYSQL_USER=root MYSQL_PASSWORD= ./bootstrap

    請在運行上述命令前啟動好本地的 MySQL 數(shù)據(jù)庫,并將上述 MYSQL_* 的值替換為您本地 MySQL 數(shù)據(jù)庫的配置。

    部署

    make deploy

    為了獲得更好的開發(fā)體驗,建議安裝 Aliyun Serverless VSCode Extension

    參考鏈接

  • [Serverless 實戰(zhàn) —— 移植 spring-petclinic 到函數(shù)計算](https://statistics.functioncompute.com/?title=快速部署 Spring PetClinic 到函數(shù)計算平臺&author=倚賢&src=article&url=https://yq.aliyun.com/articles/724662)
  • Funcraft
  • Aliyun Serverless VSCode Extension
  • “阿里巴巴云原生關注微服務、Serverless、容器、Service Mesh 等技術領域、聚焦云原生流行技術趨勢、云原生大規(guī)模的落地實踐,做最懂云原生開發(fā)者的技術圈。”

    總結

    以上是生活随笔為你收集整理的快速部署 Spring PetClinic 到函数计算平台的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

    如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。