本文档列出了适用于 Workflows 的配额和系统限制。
- 配额用于指定您可以使用的可计数共享资源的数量。配额由 Google Cloud 服务(例如 Workflows 定义。
- 系统限制是无法更改的固定值。
Google Cloud 使用配额来帮助确保公平性并减少资源使用和可用性的激增。配额用于限制您的 Google Cloud 项目可使用的 Google Cloud 资源的数量。配额适用于一系列资源类型,包括硬件、软件和网络组件。例如,配额可以限制对某项服务的 API 调用次数、您的项目并发使用的负载均衡器数量或者您可以创建的项目数量。配额可以防止服务过载,从而保护 Google Cloud 用户社区。配额还可帮助您管理自己的 Google Cloud 资源。
Cloud 配额系统执行以下操作:
- 监控 Google Cloud 产品和服务的消耗情况
- 限制这些资源的消耗量
- 提供请求更改配额值的方法
在大多数情况下,当您尝试消耗的资源超出其配额允许的范围时,系统会阻止对资源的访问,并且您尝试执行的任务会失败。
配额通常在 Google Cloud 项目级层应用。您在一个项目中使用资源不会影响您在另一个项目中的可用配额。在 Google Cloud 项目中,配额在所有应用和 IP 地址间共享。
Workflows 资源也有系统限制。系统限制不能更改。
配额
Workflows 对每个 Google Cloud 项目实施以下配额。您可以增加或减少这些配额:
配额 | 说明 | 值 |
---|---|---|
工作流总数 | 每个项目可以部署的工作流数上限 | 10000 |
并发执行次数 | 每个区域每个项目的有效工作流执行次数上限。并发执行是指已开始但尚未完成或失败的执行,包括正在等待回调或处于休眠状态的任何执行。 达到配额后,如果默认启用了执行回推(存在一些例外情况),系统会以 |
10000 |
积压的执行 | 每个区域每个项目的积压工作流执行次数上限。
如需了解详情,请参阅 管理执行回推。 |
100000 |
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 |
步数上限 | 可在单个工作流执行过程中执行的步数上限 | 100000 |
并行步数限制
使用并行步骤时,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 小时 |