前幾天我們設計了系統大致的架構也選好了雲端服務供應商,今天我們就來決定要選用的雲端元件
根據既有架構,我們初步規劃所需的服務種類如下:
-
運算服務: 用於執行應用程式邏輯。
-
儲存服務: 用於存放應用程式資料。
-
快取服務: 用於加速資料存取。
-
訊息服務: 用於不同服務間的通訊。
若要使用 GCP 建構窮小子售票系統,我們可選用的服務如下:
運算服務
-
GCE(Compute Engine): 虛擬機,較適合長期穩定運行的應用。
-
GKE(Kubernetes Engine): 容器化平台,適合大規模、複雜的應用。
-
Cloud Run: 無伺服器環境,適合短暫、事件驅動的應用。
考量成本與需求,我們選擇 Cloud Run。 它的按次計費模式與高擴展性,非常適合我們這種小型的、偶爾使用的系統。
儲存服務
-
Cloud SQL: 關聯式資料庫,提供 MySQL、PostgreSQL 等多種引擎。
-
Firestore: NoSQL 資料庫,適合彈性且頻繁變動的資料。
-
Cloud Spanner: 全球分佈式關係型資料庫,適合高可用性、低延遲的應用。
綜合考量查詢需求與成本,我們選擇 Cloud SQL for PostgreSQL。 PostgreSQL 的強大功能與社群支持,能滿足我們的查詢需求。
快取服務
-
Redis: 記憶體資料庫,提供快取、訊息佇列等功能。
GCP 的 Redis 服務與其他環境的 Redis 相容性高,易於整合。
訊息服務
-
Pub/Sub: 消息傳遞服務,提供可靠、高吞吐量的消息傳遞。
Pub/Sub 的強大性能與彈性,能滿足我們系統的通訊需求。
我們已為各個服務選定了適合的 GCP 元件。明天將繪製完整的系統架構圖,以視覺化方式呈現整體設計。