選擇 Workflows 或 Cloud Composer 來進行服務調度

工作流程Cloud Composer 都能用於服務調度,藉此結合服務來實作應用程式功能或執行資料處理作業。儘管兩者在概念上相似,但實則是為不同用途而設計。本頁面可協助您針對用途選擇合適的產品。

主要差異

Workflows 和 Cloud Composer 之間的主要差異,在於每項產品設計用來支援的架構類型。

工作流程會將多個以 HTTP 為基礎的服務自動化調度管理至耐用且具狀態的工作流程。不僅延遲時間短,還能處理大量執行作業。而且完全無伺服器。

工作流程非常適合將微服務連結在一起,自動執行基礎架構工作,例如啟動或停止 VM,以及與外部系統整合。Workflows 連接器也支援 Cloud Storage 和 BigQuery 等 Google Cloud 服務中的簡單作業序列。

Cloud Composer 旨在自動化調度管理資料導向的工作流程 (尤其是 ETL/ELT)。它是建構在 Apache Airflow 專案上,但 Cloud Composer 是全代管服務。Cloud Composer 支援位於任何位置的管道,包括地端部署環境或多個雲端平台。Cloud Composer 中的所有邏輯 (包括工作和排程) 皆以 Python 表示為有向非循環圖 (DAG) 定義檔案。

Cloud Composer 最適合批次工作負載,因為這類工作負載可處理執行工作之間的幾秒延遲。您可以使用 Cloud Composer 在資料管道中自動化調度管理服務,例如在 BigQuery 中觸發工作或啟動 Dataflow 管道。您可以使用預先存在的運算子與各種服務進行通訊, Google Cloud 本身就有超過 150 個運算子。

詳細功能比較

功能 工作流程 Cloud Composer
語法 以 YAML 或 JSON 格式表示的工作流程語法 Python
狀態模型 命令式流程控制 宣告式自動依存性解析的 DAG
整合 HTTP 要求連接器 Airflow 運算子感應器
在步驟之間傳遞資料 變數:512 KB 48 KB1 (XCom)
執行觸發條件和排程 gcloud CLI、 Google Cloud 控制台、Workflows API、Workflows 用戶端程式庫、Cloud Scheduler DAG 定義檔案中的 類似 Cron 的排程、Airflow 感應器
非同步模式
  • 意見調查
  • 回呼
  • 等待長時間執行的 Google Cloud 作業
意見調查
平行執行 使用並行步驟,在同一工作流程內或在同一工作流程內並行執行 依據依附元件自動設定
執行延遲時間 毫秒
以開放原始碼為基礎 是 (Apache Airflow)
資源調度模式 無伺服器 (可視需求調整資源調度率,並降至零) 已佈建
計費模式 按用量計費 (每執行一個步驟) 根據已配置的容量
資料處理功能 補充作業,可重新執行 DAG

  1. airflow.models.xcom 的原始碼Apache Airflow 說明文件。2021 年 8 月 2 日。