基于API网关加云函数SCF如何部署Serverless外卖订单系统

56次阅读
没有评论

共计 1315 个字符,预计需要花费 4 分钟才能阅读完成。

这期内容当中丸趣 TV 小编将会给大家带来有关基于 API 网关加云函数 SCF 如何部署 Serverless 外卖订单系统,文章内容丰富且以专业的角度为大家分析和叙述,阅读完这篇文章希望大家可以有所收获。

API 网关结合云函数 SCF 的使用场景非常丰富,丸趣 TV 小编将介绍如何基于 API 网关 + 云函数 SCF 快速部署 Serverless 的外卖订单系统。

消息推送使用的典型场景

外卖订单系统架构图

Demo 实战 1. 安装 Serverless Framework

npm install -g serverless

2. 初始化项目模板

sls init -t websocket-order

3. 查看项目目录

下载到本地后,查看项目目录结构如下:

包含 DB、网关、函数等多个子模块。

db 目录用于创建 PG Serverless 数据库实例

apigateway 用于创建对应的 API:

/bill 下单 API,HTTP 类型

/get_shop_info,获取店铺菜单 API

/pgws,用于做消息推送的 websocket API

函数列表如下:

注册函数 ws_register.py,配置 DB 的环境变量

传输函数 ws_trans.py,配置 DB 的环境变量以及 apiid= 消息推送 API

注销函数 ws_unregister.py,配置 DB 的环境变量以及 apiid= 消息推送 API

消息推送相关函数:

下单函数 bill.py,配置 DB 的环境变量以及 apiid= 消息推送 API

拉取店铺信息函数 get_shop_info.py,配置 DB 的环境变量

初始化 DB 函数 init_db.py,配置 DB 的环境变量

4. 修改配置信息。将 .env.example 文件为 .env 文件,在 API 密钥管理 中获取 SecretId 和 SecretKey。

# secret for credential
TENCENT_SECRET_ID=xxxxxx
TENCENT_SECRET_KEY=xxxxxx
# global config
REGION=ap-shanghai

项目部署

sls deploy --all

6. 更新配置及部署

执行 init_db-dev 函数,进行数据库初始化。在控制台或者 vscode 插件中,点击测试 init_db-dev 函数,对数据库进行初始化的建表等操作

更新 apiid 配置,再次部署 查看输出信息,在 function_bill 目录和 function_ws_trans 目录的 serverless.yml 中,分别配置 websocket API 的 apiid,并重新部署两个函数,刷新环境变量配置。

sls deploy --target=./function_ws_trans 
sls deploy --target=./function_bill

7. 更改客户端与厨房订单系统的地址

App 点单系统.html 更改 29 行 以及 88 行中 xxxx 为:生成的 API 网关服务域名

店家厨房系统.html 更改 17 行 xxxx 为 API 网关服务域名

效果演示:

上述就是丸趣 TV 小编为大家分享的基于 API 网关加云函数 SCF 如何部署 Serverless 外卖订单系统 了,如果刚好有类似的疑惑,不妨参照上述分析进行理解。如果想知道更多相关知识,欢迎关注丸趣 TV 行业资讯频道。

正文完
 
丸趣
版权声明:本站原创文章,由 丸趣 2023-08-25发表,共计1315字。
转载说明:除特殊说明外本站除技术相关以外文章皆由网络搜集发布,转载请注明出处。
评论(没有评论)