基于Serverless架构的盲盒抽奖系统(1500份礼品 自己部署自己抽)

dae496fd86704423b8eb04f223d0a922.jpg

今年天猫双十一,阿里云Serverless支撑业务场景更多,范围更广。越来越多企业和开发者正在尝试使用Serverless,而Serverless开发者工具无疑是加速Serverless快速落地的利器。
这一次,我们基于阿里云函数计算+Serverless开发者工具Serverless Devs打造场景,让你用“一行代码”
极速进入Serverless的世界。
时间:11月25日至12月8日
盲盒抽奖地址:https://developer.aliyun.com/adc/series/serverless2

背景知识

本场景主要涉及以下云产品和服务:

函数计算(FunctionCompute):
函数计算是事件驱动的全托管计算服务。使用函数计算,您无需采购与管理服务器等基础设施,只需编写并上传代码。函数计算为您准备好计算资源,弹性地可靠地运行任务,并提供日志查询、性能监控和报警等功能。函数计算帮助您无需管理服务器(Serverless),仅专注于函数代码就能快速搭建应用。函数计算能够弹性地伸缩,您只需要按使用量付费。

函数计算Serverless服务和自建服务相比有以下优点:

上手简单, 只专注业务逻辑开发, 极大提高工程开发效率。
自建方案有太多学习和配置成本,例如针对不同场景,ESS需要做各种不同的参数配置,系统环境的维护升级麻烦等。
免运维,函数执行级别粒度的监控和告警。
毫秒级弹性扩容,保证弹性高可用,同时能覆盖延迟敏感和成本敏感类型。

Serverless Devs开发者工具:
Serverless Devs是一个组件化与插件化的Serverless开发者平台,开发者可以在平台中可插拔式地使用不同Serverless的服务和框架,同时可参与组件和插件的开发。无论是工业级的Serverless服务,还是各类开源的Serverless框架,Serverless Devs都可友好支持。开发者无需对市面上每一款Serverless工具进行研究和学习,只需通过Serverless Devs,就可以简单、快捷地"上手"主流Serverless服务和框架。

步骤一:开通函数计算服务

在使用函数计算前,您需要开通函数计算服务。如果您已开通函数计算服务,请忽略此步骤。

说明: 本场景中提供的阿里云子账号无函数计算服务操作权限,所以请使用您自己的阿里云账号操作。您无需担心扣费问题,因为函数计算服务有一定的免费额度,请参见计费方式 。

使用您自己的阿里云账号登录阿里云控制台,然后访问函数计算产品详情页 。
单击免费开通。

dc98f3f58af04a6d813d2c09d0eb3aca.png
阅读《函数计算服务协议》,选中服务协议,最后单击立即开通。
6e71cae2c93445c4b6fc5804393c2d9b.png

返回如下页面表示开通成功。
c9adb516380a4c15aab77d1e757b8d1f.png

步骤二:创建资源

阿里云ECS资源1小时免费资源

步骤三:安装Serverless Devs命令行工具

1.安装Node.js环境。
执行如下命令,下载Node.js安装包。

wget https://npm.taobao.org/mirrors/node/v12.4.0/node-v12.4.0-linux-x64.tar.xz

执行如下命令,解压安装包并重命名。

tar -xvf node-v12.4.0-linux-x64.tar.xz && mv node-v12.4.0-linux-x64/ /usr/local/node

执行如下命令,配置环境变量。

echo "export PATH=$PATH:/usr/local/node/bin" >> /etc/profile
source /etc/profile

2.执行如下命令,安装Serverless-Devs工具。

npm install @serverless-devs/s -g

返回结果如下,表示安装完成。
p292231.png
说明 :如果安装过程较慢,可以使用淘宝npm源,安装命令为npm --registry=https://registry.npm.taobao.org install @serverless-devs/s -g

执行如下命令,查看版本并检查安装是否正确。

s -v

返回结果如下,您可以看到Serverless-Devs工具的版本。

p292192.png

步骤四:配置阿里云账号信息

说明 :本场景提供免费的ECS服务器,但是使用的函数计算服务是开通在您账号下,以下配置信息也是需要配置您账号的UID、AccessKey ID和AccessKey Secret信息。

执行如下命令,配置账号信息。

s config add

然后根据提示填写以下信息。

云厂商:选择Alibaba Cloud(alibaba)。
p292645.png
AccountID:请在账号安全设置页面查看您的阿里云主账号ID。

p291802.png
AccessKeyID和AccessKeySecret:请在安全信息管理页面查看您账号的AccessKey ID和AccessKey Secret。
如果您使用的是阿里云主账号,请在安全信息管理页面的安全提示弹框中,单击继续使用AccessKey。

p292398.png
如果您使用的是阿里云RAM子用户,需要确保您的子用户拥有函数计算管理权限AliyunFCFullAccess,请参见为RAM用户授权。您可以在安全信息管理页面中,查看您的AccessKey ID和AccessKey Secret,如下图所示。如果您的账号未使用过AccessKey,请单击右上角创建AccessKey。
配置成功后,您将会收到以下提示。

p292235.png

步骤五:基于函数计算快速搭建盲盒抽奖项目

执行如下命令,进行初始化:

s init blindbox-game

为要创建的项目输入一个名称,本示例中为blindbox-game。

blindbox-game

执行如下命令,进入blindbox-game目录。

cd blindbox-game

执行如下命令,部署项目。

s deploy

复制domain后面的地址,打开浏览器即可开始抽奖:
3f24b98f74ba46cc9c9d0ee03beb694f.png

复制domain后面的地址,打开浏览器即可开始抽奖:
4fdcdfbced0b4d1cb85ae545e415f536.png

posted @ 2021-11-26 15:40  阿里云天池  阅读(223)  评论(0编辑  收藏  举报