選擇 Workflows 或 Managed Airflow 進行服務自動化調度管理

工作流程Managed Service for Apache Airflow 都可用於服務自動化調度管理,結合多項服務來實作應用程式功能或執行資料處理作業。儘管兩者在概念上相似,但實則是為不同用途而設計。本頁面可幫助您針對用途選擇合適的產品。

主要差異

Workflows 和 Managed Airflow 的主要差異在於,這兩項產品分別支援的架構類型。

工作流程可自動調度管理多個以 HTTP 為基礎的服務,做為一個持久的有狀態工作流程,延遲時間短,可處理大量執行作業。而且完全無伺服器。

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

Managed Airflow 旨在自動調度資料導向的工作流程 (特別是 ETL/ELT)。這項服務以 Apache Airflow 專案為基礎,但 Managed Airflow 是全代管服務。Managed Airflow 都能支援您的管道,無論管道位於何處 (包括地端部署或多個雲端平台)。Managed Airflow 中的所有邏輯 (包括任務和排程),都會以 Python 表示為有向無環圖 (DAG) 定義檔案。

Managed Airflow 最適合批次工作負載,可處理工作執行作業之間幾秒的延遲時間。您可以使用 Managed Airflow 協調資料管道中的服務,例如在 BigQuery 中觸發工作,或啟動 Dataflow 管道。您可以使用現有的運算子與各種服務通訊,光是 Google Cloud 就有超過 150 個運算子。

詳細功能比較

功能 工作流程 Managed Airflow
語法 YAML 或 JSON 格式的 Workflows 語法 Python
狀態模型 命令式流程控制 宣告式 DAG,可自動解決依附元件問題
整合 HTTP 要求連接器 Airflow 運算子感應器
在步驟之間傳遞資料 變數 512 KB 48 KB1 (適用於 XCom)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 日。