無服務計算小項目 : 基於Google Cloud Function + Cloud Firestore + Cloud SQL構建實時數據處理流

本項目使用Cloud Function + Cloud Firestore + Cloud SQL構建一個實時處理數據的流,主要是基於谷歌cloud的函數計算功能,實現一個無服務計算的小demosql

系統功能

用戶在Cloud Storage Bucket 上傳文件,觸發Cloud Function ,而後讀取上傳的文件數據,並存儲到Firestorm database;
一旦文件上傳完畢,另外一個Cloud Function就會被觸發,用於清理數據,而後將清理後的數據Firestore 的集合中。數據庫

系統組件

Cloud Firestore

irebase 提供了兩種支持實時數據同步且可經過客戶端訪問的雲數據庫解決方案:編程

實時數據庫是 Firebase 的原有數據庫。對於須要在客戶端之間實時同步狀態的移動應用,這是一種高效、低延遲的解決方案。
Cloud Firestore 是 Firebase 用於移動應用開發的最新旗艦數據庫。它具有更直觀的新數據模型,在實時數據庫的成功基礎上更上一層樓。與實時數據庫相比,Cloud Firestore 還提供了更豐富、更快速的查詢以及更好的擴展功能。服務器

Cloud Firestore 的數據模型是一種基於文檔的 NoSQL 數據庫。與 SQL 數據庫不一樣的是,它沒有表格或行的概念,而是將數據存儲在文檔中,並將文檔組織爲集合。架構

每一個文檔包含一組鍵值對。Cloud Firestore 通過優化,可用於存儲小型文檔的大型集合。函數

全部文檔必須存儲在集合中。文檔能夠包含子集合和嵌套對象,二者均可以包括原始字段(如字符串)或複雜對象(如列表)。優化

集合和文檔是在 Cloud Firestore 中隱式建立的。只需將數據分配給集合中的文檔便可。若是集合或文檔不存在,Cloud Firestore 會建立一個。rest

Cloud Function & Cloud SQL

Google Cloud Functions 是用於構建和鏈接雲端服務的一種無服務器執行環境。藉助 Cloud Functions,您能夠編寫單一用途的簡單函數,並將這些函數關聯到您的雲端基礎架構和服務發出的事件。當所監控的事件發生時,就會觸發您的函數。您的代碼將在徹底託管的環境中執行。您無需預配任何基礎架構,也沒必要費心管理任何服務器。
Cloud Functions 提供了一個邏輯鏈接層,讓您能夠編寫代碼來鏈接和擴展雲端服務。您能夠偵聽如下事件並對其作出響應:Cloud Storage 中上傳了文件、日誌更改或 Cloud Pub/Sub 主題中收到消息。Cloud Functions 函數可加強現有云服務,使您可以憑藉任意編程邏輯應對數量愈來愈多的使用場景。Cloud Functions 能夠訪問 Google 服務賬號憑據,所以可以無縫地經過大多數 Google Cloud Platform 服務(包括 Cloud AutoML Vision)以及其餘許多服務的身份驗證。日誌

核心實現

(待續。。。)orm

相關文章
相關標籤/搜索