共計 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 行業資訊頻道。