日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

轻松构建基于 Serverless 架构的小程序

發布時間:2025/3/20 编程问答 16 豆豆
生活随笔 收集整理的這篇文章主要介紹了 轻松构建基于 Serverless 架构的小程序 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

前言

自 2017 年第一批小程序上線以來,越來越多的移動端應用以小程序的形式呈現。小程序擁有觸手可及、用完即走的優點,這大大降低了用戶的使用負擔,使小程序得到了廣泛的傳播。在阿里巴巴,小程序也被廣泛地應用在淘寶/支付寶/釘釘/高德等平臺上。

[外鏈圖片轉存失敗,源站可能有防盜鏈機制,建議將圖片保存下來直接上傳(img-13jgVTEG-1582612433732)(https://data-analysis.cn-shanghai.log.aliyuncs.com/logstores/article-logs/track_ua.gif?APIVersion=0.6.0&title=%E8%BD%BB%E6%9D%BE%E6%9E%84%E5%BB%BA%E5%9F%BA%E4%BA%8E%20Serverless%20%E6%9E%B6%E6%9E%84%E7%9A%84%E5%B0%8F%E7%A8%8B%E5%BA%8F&author=cici&src=article)]

為了支撐大量的小程序,服務端面臨的挑戰有:

  • 大量的小程序是不活躍的,傳統的至少一臺服務器的方式會造成資源浪費;
  • 在活動高峰期小程序的調用量激增,要求服務端能夠快速進行彈性伸縮。

而小程序開發者往往是客戶端/前端的開發者,更多的精力在開發業務代碼與應用的快速上線上,而無心顧暇服務端的運維操作。

阿里云 函數計算 是一個全托管 Serverless 計算服務,讓開發者無需管理服務器等基礎設施,只需編寫和上傳代碼,就能夠構建可靠、彈性、安全的服務。

函數計算彈性、免運維、高效、安全的特性十分適合作為小程序的服務端。

解決方案

函數計算封裝了一套小程序服務端模板,幫助小程序開發者快速搭建基于函數計算的小程序。

使用這個模板搭建小程序應用具有以下特點:

  • 運維效率高: 無需管理服務器,部署函數即可上線
  • 開發效率高: 基于封裝好的數據接口,直接開發業務代碼
  • 零費用啟動: 服務端基于函數計算,數據庫采用表格存儲,都是按量付費并且有較大的免費額度

小程序的工作流程


一個完整的支付寶小程序需要以下幾個元素:

  • 支付寶 App:是支付寶小程序的載體,運行在用戶手機端
  • 小程序客戶端:是小程序展現給用戶的操作頁面
  • 小程序服務端:是小程序的邏輯處理單元,比如對用戶進行身份認證以及對數據進行存取
  • 支付寶服務端:是支付寶 App 的邏輯處理單元,包含用戶的身份信息

函數計算封裝了一套小程序服務端模板,幫助小程序開發者快速搭建基于函數計算的小程序。下面介紹服務端模板的工作流程。

FC 服務端模板工作流程

除了基礎設施的運維問題,服務端主要解決兩個通用問題:

  • 身份認證: 服務端提供的 API 如何對客戶端的請求進行鑒權?客戶端的信息如果泄露如何保證數據安全?
  • 數據訪問: 客戶端如何進行數據庫操作和文件操作?
  • 這是每一個小程序開發都會遇到的共性的問題,可以通過一些框架或者模板來避免重復建設。因此我們基于函數計算開發了一個小程序應用模板,解決了這些通用的問題,讓開發者能夠專注在業務邏輯上,快速開發上線自己的小程序。

  • 客戶端小程序通過支付寶 App 的 API,獲得 authCode,這個過程會在 App 中彈出用戶授權框;
  • 小程序客戶端向小程序服務端發起 createSession 請求,用于初始化的身份認證;
  • 小程序服務端將 authCode 傳給支付寶服務端,支付寶服務端校驗 authCode,返回 accessToken;
  • 小程序服務端根據收到的 accessToken 生成一個 sessionId 和一個 STS token,在服務端記錄這 2 個信息然后把它們返回給客戶端。STS token 是用于訪問服務端函數的憑證,而 sessionId 作為前面認證成功而建立的會話信息,通過這 個sessionId 可以識別當前請求的用戶信息;
  • 小程序客戶端再次需要獲取數據,帶著證明自己身份的 sessionId 向小程序服務端發起獲取數據請求;
  • 小程序服務端首先根據 sessionId 獲取用戶身份信息,再根據用戶信息獲取相關數據;
  • 將用戶數據返回給小程序客戶端。
  • 搭建流程

    注冊支付寶小程序

    • 準備工作:注冊支付寶開發者賬號
      如果您尚未注冊支付寶開發者賬號,使用支付寶賬號登錄 螞蟻金服開放平臺,并完成開發者身份注冊。詳細信息請參見 開發者入駐說明。
    • 創建支付寶小程序應用
      • 使用支付寶賬號登錄 螞蟻金服開放平臺進入開發者中心 創建小程序,填寫基本信息,并記錄下 APPID

      • 生成密鑰,需要在小程序服務端與支付寶服務端配置密鑰,對交易數據進行雙方校驗
      • 將公鑰配置在 【設置】->【開發設置】-【接口加簽方式】,并記錄私鑰

    搭建小程序服務端

    • 準備工作

      • 開通 函數計算,表格存儲,日志服務
    • 部署應用

      • 進入控制臺應用中心,選擇 Mini App Todo List Server Template 模板,填寫剛才記錄的 APPID 與 PrivateKey,為 DBInstance/LogProject 取個自定義的名字(如果名字已被占用,會報 Already Exists 的錯誤),部署應用

    搭建小程序客戶端

    • 準備工作

      • 下載并安裝支付寶 小程序開發者工具。
    • 搭建應用

      • 在小程序項目根目錄下,安裝 fc-nodejs-sdk:
      npm install git://github.com/aliyun/fc-nodejs-sdk.git#mini-app --save
      • TODO LIST 客戶端代碼在 mini-app-todo-list-client
        • 修改server.js開頭定義的變量,這些值會在 服務端模板 部署成功后自動輸出:
    信息說明
    fcAccountId阿里云AccountId
    fcRegion函數部署的區域,例如cn-shanghai
    fcServiceName函數計算服務名稱
    sessionFunctionNamesession函數的名稱,例如session
    dbFunctionNamedb函數的名稱,例如db

    由于 fc-nodejs-sdk 使用了ES6語法,在發布小程序時,需要在小程序項目的根目錄下,新建一個文件mini.project.json,填入以下內容:

    {"node_modules_es6_whitelist": ["@alicloud/fc2"] }

    至此,開發工作已經完成,您可以調試,上線您的小程序啦。

    總結

    小程序上線后隨著訪問量的增加或者活動期間的訪問突增,對后端服務的穩定和彈性也是一個很大的考驗。函數計算上傳代碼即可運行,極大地提高了后端服務的開發效率;混合模式的彈性伸縮,輕松應對負載變化。服務端模板與客戶端模板可以快速搭建基于函數計算的小程序應用,這些特點使得函數計算成為支撐小程序很好的選擇。

    “阿里巴巴云原生技術圈關注微服務、Serverless、容器、Service Mesh 等技術領域、聚焦云原生流行技術趨勢、云原生大規模的落地實踐,做最懂云原生開發者的技術圈。”

    總結

    以上是生活随笔為你收集整理的轻松构建基于 Serverless 架构的小程序的全部內容,希望文章能夠幫你解決所遇到的問題。

    如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。