您好,登錄后才能下訂單哦!
本篇文章給大家分享的是有關如何進行Serverless DB 設計解讀與實戰,小編覺得挺實用的,因此分享給大家學習,希望大家閱讀完這篇文章后可以有所收獲,話不多說,跟著小編一起來看看吧。
Serverless DB!
下面我們一起來看看吧!
PostgreSQL for Serverless 是一款基于 PostgreSQL 數據庫實現的按需分配資源的數據庫產品,其數據庫將根據用戶的實際請求數來自動分配資源。通過 PostgreSQL ServerlessDB 組件,用戶可以快速方便地創建、配置和管理騰訊云的 PostgreSQL 實例。
產品有以下特性:
低成本:產品按照用戶使用的計算資源和容量來計費,沒有請求時無需付費,減少使用成本。
方便配置:默認配置將由 Serverless 為用戶完成,用戶也可自行在yaml文件中更改,短短幾行即可完成配置工作,方便用戶更好地關注自身業務邏輯。
極速部署:部署過程流暢快捷,僅需幾秒,即可創建或更新數據庫。
高可用:PostgreSQL for Serverless 支持一主一備高可用,當主實例出現意外導致不可用時,數據庫將自動啟動備用實例,此時業務連接將轉移至備用實例當中,避免業務因意外情況而導致數據庫無法使用。
用戶在處理大數據時常常需要面臨高并發讀寫、海量數據高效存儲、高可擴展性等問題,傳統的 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 快速開始
通過 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 云函數和數據庫的網絡打通和使用。
通過 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 兩種數據庫類型,大家可以按照自己的使用習慣選擇合適的組件完成部署。
以上就是如何進行Serverless DB 設計解讀與實戰,小編相信有部分知識點可能是我們日常工作會見到或用到的。希望你能通過這篇文章學到更多知識。更多詳情敬請關注億速云行業資訊頻道。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。