本文档列出了适用于 Workflows 的配额和系统限制。
- 配额具有默认值,但您通常可以申请调整。
- 系统限制是无法更改的固定值。
Google Cloud 使用配额来帮助确保公平性并减少资源使用和可用性的激增。配额用于限制您的 Google Cloud 项目可使用的Google Cloud 资源的数量。配额适用于一系列资源类型,包括硬件、软件和网络组件。例如,配额可以限制对某项服务的 API 调用次数、您的项目并发使用的负载均衡器数量或者您可以创建的项目数量。配额可以防止服务过载,从而保护Google Cloud 用户社区。配额还可以帮助您管理自己的 Google Cloud 资源。
Cloud 配额系统执行以下操作:
在大多数情况下,当您尝试消耗的资源超出其配额允许的范围时,系统会阻止对资源的访问,并且您尝试执行的任务会失败。
配额通常在 Google Cloud 项目级层应用。您在一个项目中使用资源不会影响您在另一个项目中的可用配额。在 Google Cloud 项目中,配额在所有应用和 IP 地址间共享。
Workflows 资源也有系统限制。系统限制不能更改。
配额
Workflows 会对每个 Google Cloud项目实施以下配额。您可以增加或减少以下配额:
配额 | 说明 | 值 |
---|---|---|
工作流总数 | 每个项目可以部署的工作流数上限 | 10000 |
并发执行次数 | 每个项目在每个区域的有效工作流执行次数上限。并发执行是指已开始但尚未完成或失败的执行,包括任何正在等待回调或处于休眠状态的执行。 达到配额后,如果默认启用执行积压(存在一些例外情况),系统会以 |
10000 |
积压的执行 | 每个项目在每个区域的积压工作流执行次数上限。
如需了解详情,请参阅 管理执行积压。 |
10 万 |
Workflow API 请求 | 您项目中所有工作流发出的 API 请求(create 、update 、list 、get 、delete )数上限(每分钟每个位置) |
1200 |
Execution API get 请求 | 针对您项目中所有工作流的 get 工作流执行的请求数上限(每分钟每个位置) |
6000 |
Execution API list 请求 | 针对您项目中所有工作流的 list 工作流执行请求数上限(每分钟每个位置) |
1200 |
Execution API write 请求 | 每分钟每个位置针对您项目中所有工作流的 create 和 cancel 工作流执行(包括 Eventarc 触发的执行)的请求数上限。如果 Eventarc 触发的执行次数超出此上限,系统会根据 Eventarc 重试政策重试事件。 |
6000 |
Execution API get step entries 请求 | 工作流执行过程中对步骤条目的请求数上限(每分钟每个位置)get |
6000 |
Execution API list step entries 请求 | 工作流执行中对 list 步条目的请求数上限(每分钟每个位置) |
1200 |
Execution API 导出数据请求 | 工作流执行对 export data 的请求数上限(每分钟每个位置) |
10 |
向回调端点发送的 HTTP 请求 | 针对您项目中所有工作流的执行资源发出的 SendHttpCallback API 请求数上限(每分钟每个位置) |
1500 |
Execution API list 回调请求 | 工作流执行的 list 回调请求数上限(每分钟每个位置) |
300 |
配额增加申请
如需增加或减少配额,请使用 Google Cloud 控制台。如需了解详情,请参阅申请更高配额。
监控配额使用情况
您可以查询和监控配额用量指标。如需查看示例,请参阅监控配额指标,其中演示了如何查询 Workflows 的总消耗分配配额。如需了解如何监控配额用量指标,请参阅为配额指标绘制图表并进行监控。
步数限制
Workflows 会对每个工作流程设有以下步数限制。 您无法申请更改以下限制:
限制 | 说明 | 值 |
---|---|---|
每个步骤的分配数量 | 单个步骤中可执行的分配数量上限 | 50 |
每个切换的条件数量 | 单个切换块中可评估的条件数上限 | 50 |
最大调用堆栈深度 | 调用函数的最大层数;例如,当子工作流调用自身或其他子工作流时;或者,标准库函数调用进而调用其他函数时 | 20 |
步数下限 | 工作流中的步数下限 | 1 |
步数上限 | 可在单个工作流执行过程中执行的步数上限 | 10 万 |
并行步数限制
使用并行步骤时,Workflows 会强制执行以下限制。 您无法申请更改以下限制:
限制 | 说明 | 值 |
---|---|---|
每个步骤的分支数 | 并行步骤中支持的分支数上限 | 10 |
平行深度 | 并行步骤可嵌套的最大深度 | 2 |
并发分支和迭代 | 在单个工作流执行过程中可并发执行的分支和迭代次数上限,超过此上限的分支和迭代会自动排队,等待一个或多个正在运行的线程完成。 线程总数没有限制;不过,所有其他限制都适用。 |
20 |
并行步骤中的未捕获异常 | 工作流执行期间(总共)可以引发的未处理异常数量上限 | 100 |
资源限制
Workflows 实施以下用量限制。您无法申请更改以下限制:
限制 | 说明 | 值 |
---|---|---|
源代码大小 | 用于定义工作流的 YAML 或 JSON 文件的大小上限 | 128 KB |
响应大小 | HTTP 响应的大小上限(如果保存到变量,则变量的内存限制适用) | 2 MB |
表达式长度 | 单个表达式中的最大字符数 | 400 个字符 |
数据大小 | 变量、实参和事件的累计大小上限: | 512 KB |
|
||
|
||
|
||
使用 UTF-8 编码时,字符串的最大长度(以字节为单位) | 256 KB | |
环境变量 | 用户定义的环境变量定义字符串 (KEY=value ) 的最大大小;最多可以定义 20 个变量 |
4 KiB |
执行时长 | 工作流执行的时长上限(从开始时间到结束时间);任何超出此限制的工作流最后都会出现超时错误 | 1 年 |
执行保留期限 | 执行历史记录和结果的最长保留期限(工作流执行完成后) | 90 天 |
去重时段 | 在通过事件触发工作流执行时,用于确保“正好一次”处理的重复数据删除窗口 | 24 小时 |