ServerlessMySQL數(shù)據(jù)庫怎么部署

本篇內(nèi)容主要講解“Serverless MySQL數(shù)據(jù)庫怎么部署”,感興趣的朋友不妨來看看。本文介紹的方法操作簡單快捷,實用性強。下面就讓小編來帶大家學(xué)習(xí)“Serverless MySQL數(shù)據(jù)庫怎么部署”吧!

創(chuàng)新互聯(lián)建站公司2013年成立,先為懷遠(yuǎn)等服務(wù)建站,懷遠(yuǎn)等地企業(yè),進行企業(yè)商務(wù)咨詢服務(wù)。為懷遠(yuǎn)企業(yè)網(wǎng)站制作PC+手機+微官網(wǎng)三網(wǎng)同步一站式服務(wù)解決您的所有建站問題。

TDSQL-C Serverless(MySQL 數(shù)據(jù)庫),具備完全自動化的擴容能力,能夠隨著用戶業(yè)務(wù)的請求數(shù)的增加和減少,智能化“膨脹”和“縮小”,實現(xiàn)資源的自動“吞吐”。從此以后,開發(fā)者可以真正的完成 Serverless 應(yīng)用的開發(fā),專注于業(yè)務(wù)本身,免除運維,按需付費,享受 Serverless 架構(gòu)帶來的眾多優(yōu)勢。

另外,TDSQL-C Serverless數(shù)據(jù)庫在試用期間完全免費。

服務(wù)特性

  • 自動駕駛(Autopilot):

數(shù)據(jù)庫根據(jù)業(yè)務(wù)負(fù)載自動啟動停止,無感擴縮容,擴縮容過程不會斷開連接。

  • 按使用計費(Utility Pricing):

按實際使用的計算和存儲量計費,不用不付費,按秒計量,按小時結(jié)算。

適用場景

  • 開發(fā)、測試環(huán)境等低頻數(shù)據(jù)庫使用場景。

  • 物聯(lián)網(wǎng)(IoT)、邊緣計算等不確定負(fù)載場景。

  • 中小企業(yè)建站等 SaaS 應(yīng)用場景。

下面的教程將以 Node.js 開發(fā)語言的函數(shù),指導(dǎo)您如何快速創(chuàng)建 TDSQL-C Serverless MySQL 實例,并在云函數(shù)中進行調(diào)用:

操作步驟

  1. 配置環(huán)境變量

  2. 配置私有網(wǎng)絡(luò):通過 Serverless Framework VPC 組件 創(chuàng)建 VPC 和 子網(wǎng),支持云函數(shù)和數(shù)據(jù)庫的網(wǎng)絡(luò)打通和使用。

  3. 配置 Serverless DB:通過 Serverless Framework Cynosdb 組件 創(chuàng)建 MySQL 實例,為云函數(shù)項目提供數(shù)據(jù)庫服務(wù)。

  4. 編寫業(yè)務(wù)代碼:通過 Serverless DB SDK 調(diào)用數(shù)據(jù)庫,云函數(shù)支持直接調(diào)用 Serverless DB SDK,連接 PostgreSQL 數(shù)據(jù)庫進行管理操作。

  5. 部署應(yīng)用:通過 Serverless Framework 部署項目至云端,并通過云函數(shù)控制臺進行測試。

  6. 移除項目:可通過 Serverless Framework 移除項目。

1. 配置環(huán)境變量

在本地建立目錄,用于存放代碼及依賴模塊。本文以 test-MySQL 文件夾為例。

mkdir test-MySQL && cd test-MySQL

由于目前 TDSQL-C Serverless 只支持 ap-beijing-3ap-guangzhou-4,ap-shanghai-2ap-nanjing-1 四個區(qū)域,所以這里還需要配置下,只需要在項目根目錄下創(chuàng)建 .env 文件,然后配置 REGIONZONE 兩個環(huán)境變量:

# .env
REGION=xxx  
ZONE=xxx

2. 配置私有網(wǎng)絡(luò)

test-MySQL 目錄下創(chuàng)建文件夾 VPC。

mkdir VPC && cd VPC

同時在 VPC 中新建 serverless.yml 文件,使用 VPC 組件完成私有網(wǎng)絡(luò)和子網(wǎng)的創(chuàng)建。

serverless.yml 示例內(nèi)容如下,全量配置參考產(chǎn)品文檔

#serverless.yml
org: mysql-app
app: mysql-app
stage: dev
component: vpc # (required) name of the component. In that case, it's vpc.
name: mysql-app-vpc # (required) name of your vpc component instance.
inputs:
  region: ${env:REGION}
  zone: ${env:ZONE}
  vpcName: serverless-mysql
  subnetName: serverless-mysql

3. 配置 Serverless DB

test-MySQL 下創(chuàng)建文件夾 DB,并在 DB 文件夾下新建 serverless.yml 文件,并輸入以下內(nèi)容,通過 Serverless Framework 組件完成云開發(fā)環(huán)境配置。

serverless.yml 示例內(nèi)容如下,全量配置參考產(chǎn)品文檔

# serverless.yml 
org: mysql-app
app: mysql-app
stage: dev
component: cynosdb
name: mysql-app-db
inputs:
  region: ${env:REGION}
  zone: ${env:ZONE}
  vpcConfig:
    vpcId: ${output:${stage}:${app}:mysql-app-vpc.vpcId}
    subnetId: ${output:${stage}:${app}:mysql-app-vpc.subnetId}

4. 編寫業(yè)務(wù)代碼與配置文件

test-MySQL 下創(chuàng)建文件夾 src,用于存放業(yè)務(wù)邏輯代碼和相關(guān)依賴項。并在 src 文件夾下創(chuàng)建文件 index.js,輸入如下示例代碼。在函數(shù)中通過 SDK 連接數(shù)據(jù)庫,并在其中完成 MySQL 數(shù)據(jù)庫的調(diào)用。

exports.main_handler = async (event, context, callback) => {
  var mysql      = require('mysql2');
  var connection = mysql.createConnection({
    host     : process.env.HOST,
    user     : 'root',
    password : process.env.PASSWORD
  });
  connection.connect();
  connection.query('SELECT 1 + 1 AS solution', function (error, results, fields) {
    if (error) throw error;
    console.log('The solution is: ', results[0].solution);
  });
  connection.end();
 }

安裝所需依賴模塊:

npm install mysql2

完成業(yè)務(wù)代碼編寫和依賴安裝后,創(chuàng)建 serverless.yml 文件,示例文件如下:

org: mysql-app
app: mysql-app
stage: dev
component: scf
name: mysql-app-scf

inputs:
  src: ./
  functionName: ${name}
  region: ${env:REGION}
  runtime: Nodejs10.15
  timeout: 30
  vpcConfig:
    vpcId: ${output:${stage}:${app}:mysql-app-vpc.vpcId}
    subnetId: ${output:${stage}:${app}:mysql-app-vpc.subnetId}
  environment:
    variables:
      HOST: ${output:${stage}:${app}:mysql-app-db.connection.ip}
      PASSWORD: ${output:${stage}:${app}:mysql-app-db.adminPassword}

5. 快速部署

完成創(chuàng)建后,項目目錄結(jié)構(gòu)如下:

   ./test-MySQL
   ├── vpc
   │   └── serverless.yml # vpc 配置文件
   ├── db
   │   └── serverless.yml # db 配置文件
   ├── src
   │   ├── serverless.yml # scf 組件配置文件
   │   ├── node_modules # 項目依賴文件
   │   └── index.js # 入口函數(shù)
   └── .env # 環(huán)境變量文件

使用命令行在 test-MySQL 下,執(zhí)行以下命令進行部署。

sls deploy
  • 部署時需要掃碼授權(quán),如果沒有騰訊云賬號,請 注冊新賬號。

  • 如果是子賬號,請參考子賬號權(quán)限配置完成授權(quán)

返回結(jié)果如下所示,即為部署成功。

mysql-app-vpc: 
  region:        xxx
  zone:          xxx
  vpcId:         xxxx-xxx
  ...

mysql-app-db: 
  dbMode:        xxxx
  region:        xxxx
  zone:          xxxx
  ...

mysql-app-scf: 
  functionName:  xxxx
  description:   xxx
  ...

59s ? test-MySQL ? "deploy" ran for 3 apps successfully.

部署成功后,您可通過 云函數(shù)控制臺,查看并進行函數(shù)調(diào)試,測試成功如下圖所示:

Serverless MySQL數(shù)據(jù)庫怎么部署

移除項目

test-MySQL 目錄下,執(zhí)行以下命令可移除項目。

sls remove

返回如下結(jié)果,即為成功移除。

serverless ? framework
4s ? test-MySQL ? Success

除了通過組件一鍵創(chuàng)建所有資源外,您也可以通過控制臺完成 Serverless 版本 MySQL 數(shù)據(jù)庫的創(chuàng)建,并在云函數(shù)中正常使用 SDK 的方式完成調(diào)用。

到此,相信大家對“Serverless MySQL數(shù)據(jù)庫怎么部署”有了更深的了解,不妨來實際操作一番吧!這里是創(chuàng)新互聯(lián)網(wǎng)站,更多相關(guān)內(nèi)容可以進入相關(guān)頻道進行查詢,關(guān)注我們,繼續(xù)學(xué)習(xí)!

新聞標(biāo)題:ServerlessMySQL數(shù)據(jù)庫怎么部署
轉(zhuǎn)載來于:http://bm7419.com/article44/igdhee.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供自適應(yīng)網(wǎng)站、ChatGPT網(wǎng)站導(dǎo)航、網(wǎng)站排名品牌網(wǎng)站建設(shè)、網(wǎng)站維護

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)

手機網(wǎng)站建設(shè)