相册
使用该项目,推荐您拥有以下的产品权限 / 策略:
服务/业务 | 函数计算 |
---|---|
权限/策略 | AliyunFCFullAccess AliyunOSSFullAccess AliyunRDSFullAccess AliyunContainerRegistryFullAccess AliyunLogFullAccess AliyunVPCFullAccess AliyunECSFullAccess |
- 🔥 通过 Serverless 应用中心 ,
该应用。
- 通过 Serverless Devs Cli 进行部署:
- 安装 Serverless Devs Cli 开发者工具 ,并进行授权信息配置 ;
- 初始化项目:
s init photoview -d photoview
- 进入项目,并进行项目部署:
cd photoview && s deploy -y
本项目是一个基于函数计算和Serverless Mysql的相册体验样例,相较于传统架构用户可以体验到:
- FaaS+BaaS全链路Serverless服务,无需采购和管理服务器等基础设施,只需专注业务逻辑的开发
- 采用DataAPI的方式连接操作数据库,用户不再关心数据库的连接
- 采用Serverless Mysql数据库,根据业务负载变化自动弹性分配资源
- 实例自动启停,客户中断数据库访问时,进入静默状态,节省资源
参数 | 类型 | 默认值 | 名称 | 备注 |
---|---|---|---|---|
region | string | cn-hangzhou | 地域 | 创建应用所在的地区,资源也会创在该地域,目前只支持 cn-hangzhou |
roleArn | string | 无默认,必填 | RAM角色ARN | 应用所属的函数计算服务配置的 role, 请提前创建好对应的 role, 授信函数计算服务, 并配置好 AliyunOSSFullAccess, AliyunRDSFullAccess policy, AliyunECSFullAccess 和 AliyunVPCFullAccess |
ossBucket | string | 无默认,非必填 | OSS存储桶名 | OSS存储桶名(注意和函数同地域),不填写即不使用 OSS 存储资源部署状态 |
ossObjectName | string | 无默认,非必填 | OSS 对象名 | OSS 对象名,不填写即不使用 OSS 存储资源部署状态 |
- 应用中心会自动开始执行应用部署的的4个步骤:(前置环境,资源同步,资源检查,执行部署)
- 其中在执行部署时会先后部署两个函数:资源创建函数,资源消费函数(PhotoView函数)
- 在部署 PhotoView 函数时会先调用资源创建函数,创建出 Serverless MySQL 资源。
注意: 资源创建函数执行时会真实创建出 Serverless MySQL 数据库实例,这需要大概等待5到10分钟
具体表现为应用部署会一直在Invoke resource creator function
: - 资源部署完成后,点击访问域名,即可体验 PhotoView 应用
将会创建:
资源 | 备注 |
---|---|
Serverless MySQL 实例 | 包含 RDS 实例, 数据库,账户,dataAPI secret |
VPC, vswitch,安全组 | 支持函数计算和 Serverless MySQL 通信 |
两个函数: 资源创建函数,PhotoView 函数 | FC 提供资源创建和资源消费能力 |
函数 1:资源创建函数:
- 资源创建函数原理是将 Terraform 集成在 FC Custom Container 函数中,从而通过管理 FC 函数来管理 Terraform job。
- 我们内置了 Serverless MySQL 的 TF 资源文件,用户只需要在创建应用是填入少量 Mysql 数据库配置即可创建出Serverless MySQL 资源。
- 当填写有效 ossBucket 和 ossObjectName 时,用户将使用自己的 OSS 存储资源部署状态。
函数2:PhotoView函数
- 创建资源:
-
Serverless Devs 工具具备 pre-action 能力,即在部署函数前完成某项工作。
-
利用 pre-action 能力在部署 PhotoView 函数前调用资源创建函数,创建出资源,并将资源配置传入到 PhotoView 函数的环境变量里。
-
- PhotoView 函数消费 Serverless MySQL 资源
- PhotoView 函数通过从环境变量中获取 Serverless MySQL 的资源配置,之后通过访问 Serverless MySQL 数据库从而完成业务需求。
- 本地秒级弹性,快速感知负载变化,3-5秒快速弹性分配资源至合理范围
- 存储自动扩容,每五分钟对磁盘进行巡检,按需自动增扩云盘容量
- 实例自动启停,客户中断数据库访问时,实例进入静默状态,节省资源
- 秒级计费,系统根据实例秒级RCU资源量变化,精确计费
如需了解更多,请参考RDS官方网站 https://www.serverless-devs.com/serverless-devs/install)https://help.aliyun.com/document_detail/411628.html
您如果有关于错误的反馈或者未来的期待,您可以在 Serverless Devs repo Issues 中进行反馈和交流。如果您想要加入我们的讨论组或者了解 FC 组件的最新动态,您可以通过以下渠道进行:
微信公众号:serverless |
微信小助手:xiaojiangwh |
钉钉交流群:33947367 |