Workflows 會使用配額和系統限制,維持公平的資源分配、防止服務超載,並協助您管理資源用量。
配額和系統限制類似,但有以下差異:
- 「配額」有預設值,但通常可以申請調整。
- 「系統限制」是固定值,無法變更。
Google Cloud 使用配額來確保公平性,並減少資源使用量和可用性出現劇烈波動的情況。配額會限制 Google Cloud 專案可使用的Google Cloud 資源數量,配額適用多種資源類型,包括硬體、軟體和網路元件。舉例來說,配額可能會限制能向特定服務發出的 API 呼叫次數、專案可同時使用的負載平衡器數量,或是可建立的專案數量。配額機制可防止服務過載,保障Google Cloud 使用者社群的權益,同時也有助於您管理自己的 Google Cloud 資源。
Cloud Quotas 系統具備以下功能:
如果嘗試使用的資源量超過配額限制,系統通常會阻擋該資源的存取活動,您所執行的工作就會失敗。
配額的計算通常是以 Google Cloud 專案為基準。在某個專案中使用資源,不會影響另一個專案的可用配額。在同一個 Google Cloud 專案內,所有應用程式和 IP 位址會共用配額。
詳情請參閱「Cloud Quotas 總覽」。
Workflows 資源也設有系統限制。而且無法變更。
配額
Workflows 會對每個 Google Cloud專案強制執行下列配額。您可以提高或降低這些配額:
| 配額 | 說明 | 值 |
|---|---|---|
| 工作流程總數 | 每項專案可部署的工作流程數量上限 | 10,000 |
| 並行執行作業 | 每個專案在各區域中可執行的工作流程數量上限。並行執行作業是指已開始但尚未完成或失敗的執行作業,包括等待回呼或休眠的執行作業。 達到配額後,如果預設啟用執行作業待處理功能 (部分例外狀況),系統會以 |
10,000 |
| 待處理的執行作業 | 每個專案在各區域的待處理工作流程執行數量上限。 詳情請參閱「管理執行作業待處理項目」。 |
100,000 |
| Workflow API 要求 | 專案中所有工作流程的 API 要求數量上限 (create、update、list、get、delete) (每分鐘、每個位置) |
1,200 |
| Execution API get 要求 | 專案中所有工作流程對 get 工作流程執行的要求數量上限 (每個位置每分鐘) |
6,000 |
| Execution API list 要求 | 專案中所有工作流程對 list 工作流程執行的要求數量上限 (每個位置每分鐘) |
1,200 |
| Execution API write 要求 | 專案中所有工作流程 (每分鐘、每個位置) 對 create 和 cancel 工作流程執行作業 (包括 Eventarc 觸發的執行作業) 的要求數量上限。如果 Eventarc 觸發的執行作業超過上限,系統會依據 Eventarc 重試政策重試事件。 |
6,000 |
| Execution API 取得步驟項目要求 | 工作流程執行作業中,對 get 步驟項目的要求數量上限 (每個位置每分鐘) |
6,000 |
| Execution API 列出步驟項目要求 | 工作流程執行作業中,list 步驟項目的要求數量上限 (每個位置每分鐘) |
1,200 |
| Execution API 匯出資料要求 | 工作流程執行作業每分鐘在每個位置可向 export data 傳送的要求數量上限 |
10 |
| 傳送至回呼端點的 HTTP 要求 | 專案中所有工作流程對執行資源發出的 SendHttpCallback API 要求數量上限 (每分鐘、每個位置) |
1,500 |
| Execution API 清單回呼要求 | 工作流程執行作業對 list 回呼的要求數量上限 (每個位置每分鐘) |
300 |
配額提高要求
如要提高或降低配額,請使用 Google Cloud 控制台。詳情請參閱「要求提高配額」。
監控配額用量
您可以查詢及監控配額用量指標。如需範例,請參閱「監控配額指標」,瞭解如何查詢 Workflows 已耗用的分配配額總量。如要瞭解如何監控配額用量指標,請參閱「繪製配額指標圖表並監控配額指標」。
步驟限制
Workflows 會對每個工作流程強制執行下列步驟限制。您無法要求變更下列限制:
| 限制 | 說明 | 值 |
|---|---|---|
| 每個步驟的指派項目 | 單一步驟中可執行的指派數量上限 | 50 |
| 每個切換工具的條件 | 單一切換區塊中可評估的條件數量上限 | 50 |
| 呼叫堆疊深度上限 | 呼叫函式的層級數量上限,例如子工作流程呼叫自身或其他子工作流程,或標準程式庫函式呼叫反過來呼叫其他函式 | 20 |
| 步驟數量下限 | 工作流程中的步驟數量下限 | 1 |
| 步數上限 | 單一工作流程執行作業中可執行的步驟數量上限 如要進一步瞭解哪些操作會計為步驟,請參閱「最佳化用量」。 |
100,000 |
平行步驟限制
使用平行步驟時,Workflows 會強制執行下列限制。您無法要求變更下列限制:
| 限制 | 說明 | 值 |
|---|---|---|
| 每個步驟的分支數量 | 平行步驟中支援的分支數量上限 | 10 |
| 平行深度 | 平行步驟可巢狀結構的最大深度 | 2 |
| 並行分支和疊代 | 在單一工作流程執行作業中,可同時執行的分支和疊代數量上限。超過這個上限後,後續的分支和疊代會自動排入佇列,等待一或多個執行中的執行緒完成。 執行緒總數沒有限制,但其他限制仍適用。 |
20 |
| 並行步驟中未捕捉的例外狀況 | 執行工作流程期間,可引發的未處理例外狀況數量上限 (總計) | 100 |
資源限制
Workflows 會強制執行下列用量限制。您無法要求變更下列限制:
| 限制 | 說明 | 值 |
|---|---|---|
| 原始碼大小 | 定義工作流程的 YAML 或 JSON 檔案大小上限 | 128 KB |
| 回應大小 | HTTP 回應的大小上限 (如果儲存至變數,則適用變數的記憶體限制) | 2 MB |
| HTTP 要求逾時 |
單一 HTTP 要求的可設定時間長度上限。如果要求超過逾時時間,就會失敗並傳回
|
1,800 秒 (30 分鐘) |
| 運算式長度 | 單一運算式中的字元數上限 | 400 個字元 |
| 資料大小 | 變數、引數和事件的累計大小上限: | 512 KB |
|
||
|
||
|
||
| 使用 UTF-8 編碼時,字串長度上限 (以位元組為單位) | 256 KB | |
| 環境變數 | 使用者定義環境變數定義字串 (KEY=value) 的大小上限;最多可定義 20 個變數 |
4 KiB |
| 執行作業時間長度 | 工作流程執行的時間長度上限 (從開始時間到結束時間);任何超過這項限制的工作流程都會因逾時錯誤而結束 | 1 年 |
| 執行作業保留 | 執行記錄和結果的最長保留期限 (工作流程執行完成後) | 90 天 |
| 簡化時間範圍 | 簡化時間範圍,確保使用事件觸發工作流程執行作業時,只會處理一次 | 24 小時 |