選擇 Cloud Tasks 或 Cloud Pub/Sub

Cloud TasksCloud Pub/Sub 均可用來傳遞訊息與執行非同步整合作業。不過,雖然兩者功能相似,卻並非完全相同。本頁面協助您針對您的用途選擇合適的產品。

主要差異

Cloud Pub/Sub 和 Cloud Tasks 兩者之間最主要的差異,在於隱性叫用和明確叫用的概念。

Cloud Pub/Sub 的目的在於分離事件發布者與這些事件的訂閱者。發布者不須瞭解其訂閱者。因此,Cloud Pub/Sub 除了保證能確實傳送訊息外,還讓發布者無法控制訊息的傳送方式。Cloud Pub/Sub 透過這種方式支援隱性叫用,也就是發布者透過發布事件,間接讓訂閱者執行動作。

相反地,Cloud 工作支援明確叫用,讓發布者可完全掌握執行情況。具體來說,發布者可指定每則訊息要從哪個端點傳送出去。

此外,Cloud 工作也提供 Cloud Pub/Sub 發布者無法使用的佇列和工作管理工具,包括:

  • 排定特定的傳送時間
  • 控管傳送率
  • 可設定重試作業
  • 存取與管理佇列中的個別工作
  • 簡化工作/訊息建立作業

詳細功能比較

功能 Cloud 工作 Cloud Pub/Sub
透過 Webhook 推送
保證至少傳送一次
簡化工作建立作業
可設定重試作業
排定傳送作業
確實控管傳送率 否 (訂閱者用戶端可以進行流量控制)
透過 API 提取
批次插入
每則訊息有多個處理常式/訂閱者
工作/訊息保留時間 30 天 最多 7 天
工作/訊息的大小上限 100KB 10MB
傳送率上限 每個佇列 500 QPS 無上限
地理區域可用性 地區 全球
推送處理常式/訂閱者處理時間上限 30 分鐘 (HTTP)
10 分鐘 (App Engine 標準環境:自動調整資源配置)
24 小時 (App Engine 標準環境:手動調整資源配置或基本資源配置)
60 分鐘 (App Engine 彈性環境)
10 分鐘 (推送作業)
每個專案的佇列/訂閱數量 每個專案 100 個 (可透過配額增加申請提高上限) 每個專案 10,000 個
本頁內容對您是否有任何幫助?請提供意見:

傳送您對下列選項的寶貴意見...

這個網頁
Cloud Tasks 說明文件