温馨提示×

温馨提示×

您好,登录后才能下订单哦!

密码登录×
登录注册×
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》

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

发布时间:2021-11-18 16:58:45 来源:亿速云 阅读:120 作者:柒染 栏目:云计算

今天就跟大家聊聊有关如何快速部署Spring PetClinic到函数计算平台,可能很多人都不太了解,为了让大家更加了解,小编给大家总结了以下内容,希望大家根据这篇文章可以有所收获。

简介

首先介绍下在出现的几个比较重要的概念:

函数计算(Function Compute): 函数计算是一个事件驱动的服务,通过函数计算,用户无需管理服务器等运行情况,只需编写代码并上传。函数计算准备计算资源,并以弹性伸缩的方式运行用户代码,而用户只需根据实际代码运行所消耗的资源进行付费。函数计算更多信息 参考。

Funcraft:Funcraft 是一个用于支持 Serverless 应用部署的工具,能帮助您便捷地管理函数计算、API 网关、日志服务等资源。它通过一个资源配置文件(template.yml),协助您进行开发、构建、部署操作。Fun 的更多文档 参考。

spring-petclinic: PetClinic 是一个 Spring Boot 、Spring MVC 和 Spring Data 结合使用的示例项目,是学习 Spring Boot 经典案例。

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

Spring 框架是由一些小而美的 Java 框架以松散耦合的方式集成在一起。这些 Java 框架可以独立或者集成使用以构建许多不同类型的工业级应用程序。PetClinic 示例应用程序是为了说明如何使用 Spring 应用程序框架来构建简单且功能强大的面向数据库的应用程序。它演示了 Spring 核心功能用法。

使用控制反转和 MVC 的 Web 表示层,基于 JavaBeans 的应用程序配置,通过 JDBC,Hibernate 或 JPA 进行数据库访问,基于 JMX 声明式事务管理的应用程序监视,使用 AOP 数据验证来支持但不依赖于表示层的 Spring 框架提供了大量有用的基础结构,以简化应用程序开发工作。

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

本应用模板使用函数计算的 Custom 运行时和 RDS-MySQL 云服务作为 Spring Boot 应用的运行环境。借助于 资源编排服务(ROS)的能力,该模板会自动创建 VPC、VSwitch、SecurityGroup、RDS 和绑定了 HTTP Trigger 的函数,以及绑定到 HTTP 函数的自定义域名,并自动配置好这些服务,以达到迅速上线开箱即用的效果。

注意:

  1. 需要提供一个域名(支持二级域名),如果部署在国内 Region 该域名需要在阿里云备案,然后把域名的 CNAME 记录指向 12345.cn-shanghai.fc.aliyuncs.com,其中 12345 换成您的 AccountID,如果是在国外 Region 可以免去备案环节, 请查看更多参考

  2. 模板创建的 RDS-MySQL 云服务选用了最便宜的按量付费实例,费用大约为:¥0.236/小时,使用前需要确保账户有 100 元的余额,并且试用完成以后建议通过 ROS 控制台删除该应用,以免产生超出预期的费用。

快速开始

下面我们借助于函数计算的应用中心,快速地将 Spring PetClinic 快速部署到函数计算平台。

  1. 打开函数计算 Spring PetClinic 应用详情页。如果您尚未开通函数计算服务可能需要先,开通服务是免费的,另外函数计算有每月免费额度,试用服务不会产生费用。
    如何快速部署Spring PetClinic到函数计算平台

  2. 滚动到 Spring PetClinic 应用详情页的最底部,点击“立即部署”按钮。
    如何快速部署Spring PetClinic到函数计算平台

  3. 填写应用名称和域名,其中域名需要先去设定 DNS 的 CNAME 记录,然后点击“部署”按钮。
    如何快速部署Spring PetClinic到函数计算平台

  4. 稍等片刻,等到部署成功以后,拷贝 URL 网址。
    如何快速部署Spring PetClinic到函数计算平台

  5. 在浏览器中打开上面拷贝的网址
    如何快速部署Spring PetClinic到函数计算平台

工作原理

本示例中,我们打算使用函数计算的 Custom 运行时 来移植 Petclinic 项目。顾名思义, Custom Runtime 就是自定义的执行环境, 用户基于 Custom Runtime 可以完成以下目标:

  • 可以随心所欲持定制个性化语言执行环境(例如 Golang、Lua、Ruby)以及各种语言的小版本(例如 Python3.7、Nodejs12 )等,打造属于自己的自定义 Runtime

  • 现有的 Web 应用或基于传统开发 Web 项目基本不用做任何改造,即可将项目一键迁移到函数计算平台

该应用的架构图如下:

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

定制化开发

依赖工具

本项目是在 MacOS 下开发的,涉及到的工具是平台无关的,对于 Linux 和 Windows 桌面系统应该也同样适用。在开始本例之前请确保如下工具已经正确的安装,更新到最新版本,并进行正确的配置。

  • Docker

  • Funcraft

Fun 工具依赖于 docker 来模拟本地环境。

对于 MacOS 用户可以使用 homebrew 进行安装:

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

Windows 和 Linux 用户安装请参考:

  1. https://github.com/aliyun/fun/blob/master/docs/usage/installation.md

安装好后,记得先执行 fun config 初始化一下配置。

注意, 如果你已经安装过了 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 数据库,并将上述 MYSQL_* 的值替换为您本地 MySQL 数据库的配置。

部署

make deploy

为了获得更好的开发体验,建议安装 Aliyun Serverless VSCode Extension

看完上述内容,你们对如何快速部署Spring PetClinic到函数计算平台有进一步的了解吗?如果还想了解更多知识或者相关内容,请关注亿速云行业资讯频道,感谢大家的支持。

向AI问一下细节

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

AI