前言
云開發(fā) CloudBase是騰訊云出品的Serverless 云原生一體化產(chǎn)品方案,為小程序,web應(yīng)用,移動應(yīng)用提供一站式后端服務(wù),弱化了運維和服務(wù)器的概念,有更多的精力去關(guān)注業(yè)務(wù)代碼。
CloudBase在后臺創(chuàng)建環(huán)境后,會默認(rèn)提供云數(shù)據(jù)庫,云儲存,云函數(shù),靜態(tài)資源部署等功能
云數(shù)據(jù)庫
云數(shù)據(jù)庫是 CloudBase 提供的核心功能之一,提供基礎(chǔ)讀寫、聚合搜索、數(shù)據(jù)庫事務(wù)、實時推送等功能。是一個文檔型數(shù)據(jù)庫,數(shù)據(jù)庫的每條記錄是一個類似JSON格式的對象。
云數(shù)據(jù)庫可以通過各類SDK實現(xiàn)增刪改查,以及其他常規(guī)數(shù)據(jù)庫功能,比如索引、事務(wù)之類的。
同時,還提供了一些常規(guī)數(shù)據(jù)庫不支持的功能,比如實時推送,可以使用SDK的DB的watch功能,監(jiān)聽數(shù)據(jù)庫變化,當(dāng)數(shù)據(jù)庫變化會執(zhí)行回調(diào)函數(shù),這個可以很方便的實現(xiàn)一個IM即時聊天系統(tǒng),當(dāng)一個用戶推送消息,寫入到數(shù)據(jù)庫中,另一個用戶可以在watch回調(diào)中接收這個變化,實現(xiàn)消息同步功能。
同時還支持備份和回檔功能,增加項目容錯。
另外,和正常開發(fā)直覺不同的是,客戶端SDK可以直接訪問數(shù)據(jù)庫,而不用通過云函數(shù)或者后端接口,用戶可以直接使用騰訊云的登錄體系,最簡單的就是匿名登錄,然后通過SDK訪問數(shù)據(jù)庫,當(dāng)然數(shù)據(jù)庫是有安全規(guī)則,一般來說,用戶自己創(chuàng)建的數(shù)據(jù),其他用戶是不可以修改的,而類似user的庫,可以設(shè)置安全規(guī)則為僅管理員可讀寫,這樣普通用戶就不能修改了。
云儲存
云開發(fā)為開發(fā)者提供了存儲空間、將文件上傳到云端存儲空間內(nèi)以及帶權(quán)限的云端文件下載能力,開發(fā)者可以使用云開發(fā)控制臺或使用 SDK 調(diào)用接口來使用存儲功能。云開發(fā)默認(rèn)支持 CDN 加速,并提供免費 CDN 域名。
每一個上傳到云開發(fā)的文件都有一個全網(wǎng)唯一的fileID,使用fileID可以更加安全便捷的訪問文件,比如私有權(quán)限的文件的訪問鏈接的有效期是有限的,開發(fā)者可以選擇使用fileID動態(tài)的換取可以訪問的文件鏈接地址。
靜態(tài)網(wǎng)站托管
CloudBase 靜態(tài)網(wǎng)站托管可以為您的 Web 應(yīng)用、靜態(tài)資源提供快速、安全的托管服務(wù)。只需要一個命令,并可以快速地部署靜態(tài)資源,并且使用 CDN(內(nèi)容分發(fā)網(wǎng)絡(luò))加快資源的訪問速度。
靜態(tài)資源將會被緩存在遍布各地的 CDN 邊緣服務(wù)器上。無論您的用戶身處何處,內(nèi)容都可快速加載。
支持自定義域名
云函數(shù)
使用 CloudBase 的云函數(shù),我們可以以函數(shù)的形式運行后端代碼,響應(yīng) SDK 的調(diào)用或者 HTTP 請求。我們的代碼會儲存在云端,并且在托管環(huán)境中運行,無需管理或運維自己的服務(wù)器。
儲存在云端的代碼也可以是壓縮后的,并不必須是源碼,這要看使用的http框架,比如nestjs支持代碼打包,然后只把dist文件以及package.json放進(jìn)去即可。
其他內(nèi)容請前往 深入理解云函數(shù)
總結(jié)
使用云開發(fā) CloudBase 開發(fā)應(yīng)用,總得來說節(jié)省了服務(wù)器管理的時間和精力,同時也更穩(wěn)定,更安全。適合中小型項目的開發(fā)場景。