哈嘍小伙伴們,我們都知道資料庫在專案開發中往往是不可或缺的一環,而在云計算熱度不斷提升的背景之下,我們對于使用資料庫的成本以及靈活性有了更高的要求,
Serverless 團隊近期新發布了兩款組件來填補這最關鍵的一塊拼圖 —— Serverless DB!
下面我們一起來看看吧!
Serverless PostgreSQL 組件
PostgreSQL for Serverless 是一款基于 PostgreSQL 資料庫實作的按需分配資源的資料庫產品,其資料庫將根據用戶的實際請求數來自動分配資源,通過 PostgreSQL ServerlessDB 組件,用戶可以快速方便地創建、配置和管理騰訊云的 PostgreSQL 實體,
產品有以下特性:
- 低成本:產品按照用戶使用的計算資源和容量來計費,沒有請求時無需付費,減少使用成本,
- 方便配置:默認配置將由 Serverless 為用戶完成,用戶也可自行在yaml檔案中更改,短短幾行即可完成配置作業,方便用戶更好地關注自身業務邏輯,
- 極速部署:部署程序流暢快捷,僅需幾秒,即可創建或更新資料庫,
- 高可用:PostgreSQL for Serverless 支持一主一備高可用,當主實體出現意外導致不可用時,資料庫將自動啟動備用實體,此時業務連接將轉移至備用實體當中,避免業務因意外情況而導致資料庫無法使用,
Serverless TCB 組件
用戶在處理大資料時常常需要面臨高并發讀寫、海量資料高效存盤、高可擴展性等問題,傳統的 RMDB 資料庫難以滿足用戶需求,SLS 需要對創建 NoSQL DB 進行支持,有了基于云開發 TCB 的Serverless TCB 組件,用戶通過該組件創建 tcb 環境,在代碼中直接呼叫 tcb 的 SDK,實作 tcb 環境中 NoSQL DB 的創建和呼叫,
產品有如下優勢:
- 完全兼容:資料庫完全兼容 MongoDB 協議,既適用于傳統表結構的場景,更適用于快取、非關系型資料以及利用 MapReduce 進行大規模資料集的并行運算的場景,
- 安全性高:云資料庫通過備份機制保存多天的備份資料,以便于在災難情況下進行資料恢復,
- 低成本:按量計費,用戶無需為未使用資源進行額外付費,
- 極速部署,操作簡便:用戶僅需幾行代碼便可完成配置,部署速度快,效率高,
說了這么多,不如一起來試試吧!
準備作業:安裝好 Node.js(Node.js 版本需不低于 8.6,建議使用 Node.js10.0 及以上版本)
Nodejs 下載地址:https://nodejs.org/en/download/
還未安裝的小伙伴,可以通以下檔案指引安裝完成:Serverless Framework 快速開始
實戰一:部署 Vue + Express + PostgreSQL 全堆疊網站
- 通過 npm 全域安裝 Serverless Framework:
$ npm install -g serverless
安裝完畢后,用如下命令查看 Serverless Framework 的版本資訊,確保版本不低于 Components: 2.30.1
$ serverless -v
- 新建本地檔案夾
serverless-wty,下載相關的 template,
$ mkdir serverless-wty && cd serverless-wty
$ serverless create --template-url https://github.com/serverless-components/tencent-fullstack
目前 PostgreSQL 還不支持掃碼一鍵部署,請在本地創建 .env檔案,并在其中配置對應的騰訊云 SecretId、SecretKey、地域和可用區資訊,
$ touch .env
vim.env
.env
TENCENT_SECRET_ID=xxx // 您賬號的 SecretId
TENCENT_SECRET_KEY=xxx // 您賬號的 SecretKey
地域可用區配置
REGION=ap-guangzhou //資源部署區,該專案中指云函式與靜態頁面部署區
ZONE=ap-guangzhou-2 //資源部署可用區 ,該專案中指 DB 部署所在的可用區
說明:如果沒有騰訊云賬號,請先注冊新賬號,如果已有騰訊云賬號,請保證您的賬號已經授權了 AdministratorAccess 權限,您可以在 API 密鑰管理中獲取 SecretId 和 SecretKey,
ZONE 目前只支持 ap-beijing-3 、ap-guangzhou-2、ap-shanghai-2.
- 通過執行以下命令,安裝所需依賴
$ npm run bootstrap
- 執行以下命令,進行部署
$ sls deploy --all
部署成功后,您可以使用瀏覽器訪問專案產生的 website 鏈接,即可看到生成的網站,
- 執行如下命令,查看部署資訊,該專案部署的資訊:vpc、db、api、frontend(前端網站)
$ npm run info
- 執行如下命令,可移除專案
$ sls remove --all
上述實戰主要包含以下組件:
- Serverless RESTful API:通過云函式和 API 網關構建的 Express 框架實作
RESTful API, - Serverless 靜態網站:前端通過托管 Vue.js 靜態頁面到 COS 物件存盤中,
- PostgreSQL Serverless:通過創建 PostgreSQL DB 為全堆疊網站提供資料庫服務,
VPC:通過創建 VPC 和 子網,提供 SCF 云函式和資料庫的網路打通和使用,
實戰二:部署支持 NoSQL 資料庫的全堆疊網站
- 通過 npm 全域安裝 Serverless CLI:
$ npm install -g serverless
安裝完畢后,用如下命令查看 Serverless Framework 的版本資訊,確保版本不低于 Components: 2.30.1
$ serverless -v
- 新建一個本地檔案夾,使用
create --template-url命令,下載相關 template:
$ mkdir my_tcbdemo && cd my_tcbdemo
$ serverless create --template-url https://github.com/serverless-components/tencent-mongodb/tree/master/example/fullstack-demo
找到 function->serverless.yaml 檔案,填入自己的 SecretId 和 SecretKey,再進入 function->src 檔案夾目錄下,通過以下命令安裝所需依賴完成配置:
$ npm install
說明:如果沒有騰訊云賬號,請先注冊新賬號,如果已有騰訊云賬號,可以在 API 密鑰管理 中獲取 SecretId 和 SecretKey,目前 sls(serverless 的簡稱)支持在國內區域訪問 TCB,部署時請注意 yaml 檔案里的地域設定,其他地域可能會報錯,
- 配置完成后,進入根目錄下,通過以下命令進行部署,創建一個新的云開發環境,將后臺代碼部署到云函式 SCF 平臺,并通過 website 組件部署靜態網站:
$ sls deploy --all
訪問命令列輸出的 website url,即可查看您的 Serverless 站點,
注意:
- 由于 sls 運行角色限制,需要用戶登錄 訪問管理角色頁面,手動為 SLS_QcsRole 添加 TCBFullAccess 的策略,否則無法正常運行,
- 當前 deploy --all 指令只支持2.30.1及以上版本 Serverless Framework Component,請確保您的組件已更新至最新版本,
- 目前 TCB 端僅支持每月最多創建銷毀4次環境,請謹慎創建,若超過4次部署將會報錯,
- DB組件默認為用戶創建一個免費云開發環境,如您已有該環境,部署時會報錯,請刪去db檔案夾中的yaml檔案,并在function的yaml檔案中MongoId引數里輸入您已有TCB環境的ID,完成專案的部屬,
- 部署結束后,您可通過以下命令移除專案:
$ sls remove --debug
上述實戰主要包含以下組件:
- Serverless Website: 前端通過托管 HTML 靜態頁面到物件存盤 COS 中,
- Serverless Cloud Function: 后端函式部署到云端,通過 HTTP 進行觸發呼叫,
- 云開發 TCB 環境: 通過創建云開發環境并呼叫 NoSQL DB,為全堆疊網站提供資料庫服務,
Serverless PostgreSQL 組件和 Serverless TCB 組件不僅滿足了大家通過云上資源使用資料庫的需求,還同時支持 PostgreSQL 與 NoSQL 兩種資料庫型別,大家可以按照自己的使用習慣選擇合適的組件完成部署,
更多檔案資料參考:https://cloud.tencent.com/product/sls
Serverless Framework 30 天試用計劃
我們誠邀您來體驗最便捷的 Serverless 開發和部署方式,在試用期內,相關聯的產品及服務均提供免費資源和專業的技術支持,幫助您的業務快速、便捷地實作 Serverless!
詳情可查閱:Serverless Framework 試用計劃
One More Thing
3 秒你能做什么?喝一口水,看一封郵件,還是 —— 部署一個完整的 Serverless 應用?
復制鏈接至 PC 瀏覽器訪問:https://serverless.cloud.tencent.com/deploy/express
3 秒極速部署,立即體驗史上最快的 Serverless HTTP 實戰開發!
傳送門:
- GitHub: github.com/serverless
- 官網:serverless.com
歡迎訪問:Serverless 中文網,您可以在 最佳實踐 里體驗更多關于 Serverless 應用的開發!
推薦閱讀:《Serverless 架構:從原理、設計到專案實戰》
轉載請註明出處,本文鏈接:https://www.uj5u.com/qita/14645.html
標籤:其他
