主流云厂商配额模型对比:AWS Lambda、阿里云函数计算、腾讯云 SCF

不同云厂商对 Serverless 函数的资源管控方式各有侧重,但核心目标一致:在保障多租户隔离的同时,为用户提供可预测的执行环境。本章从配额维度、并发模型、弹性策略三个层面,对比 AWS Lambda、阿里云函数计算(FC)和腾讯云 SCF 的配额体系。

2.1 配额维度总览

三家厂商的配额体系均围绕并发执行数、调用次数、资源使用量和部署限制四大维度展开,但具体粒度与默认值存在显著差异。

配额维度 AWS Lambda 阿里云函数计算 (FC) 腾讯云 SCF
并发执行数 账户级:1000(可提额)
函数级预留:按需配置
账户级:100(默认)
服务级:无单独限制
函数级预留:按需配置
账户级:128(默认)
函数级预留:按需配置
调用次数 无硬性上限(按调用计费) 无硬性上限(按调用计费) 无硬性上限(按调用计费)
资源使用量 内存:128MB – 10,240MB
超时:15 分钟
内存:128MB – 32,768MB
超时:24 小时(HTTP 触发器)
内存:64MB – 3,072MB
超时:900 秒(15 分钟)
部署限制 代码包:50MB(压缩)/ 250MB(解压)
层:5 层
代码包:100MB(压缩)
层:无单独限制
代码包:500MB(压缩)
层:5 层
弹性上限 突发并发:1000 – 3000(几分钟内) 突发并发:默认 100,可提额至 500+ 突发并发:默认 128,可提额至 1000+
关键发现:阿里云 FC 在内存上限和超时时间上最为宽松,适合长时间运行的任务;腾讯云 SCF 的代码包上限最大,适合大型依赖场景;AWS Lambda 的并发配额默认最高,但提额流程相对成熟。

2.2 并发模型对比

并发模型是配额体系的核心,决定了函数在流量突增时的行为。三家厂商均采用预留并发 + 按需弹性的双层模型,但实现细节不同。

三家云厂商并发模型对比 AWS Lambda 预留并发 (Reserved) 函数级固定配额,不共享 按需并发 (On-Demand) 账户级共享,弹性伸缩 突发并发 (Burst) 500 – 3000 瞬时提升 预留 + 按需 = 总并发 超出则限流 (429) 阿里云函数计算 (FC) 预留实例 函数级预热,无冷启动 按量实例 服务级共享,弹性伸缩 预付费 (包月包周) 资源包抵扣,成本可控 预留 + 按量 = 总并发 超出则排队或限流 腾讯云 SCF 预置并发 函数级固定配额,避免冷启动 按量并发 账户级共享,弹性伸缩 版本别名并发 按版本/别名独立配置 预置 + 按量 = 总并发 超出则限流 (429)

2.3 弹性策略与限流行为

当请求量超过账户级并发上限时,三家厂商的处理方式略有不同,直接影响业务可用性。

  • AWS Lambda:超出并发配额时返回 HTTP 429 (TooManyRequestsException)。预留并发函数不受账户级限制影响,但预留配额本身不可超用。突发并发在几分钟内从 1000 提升至 3000,适用于短时流量尖峰。
  • 阿里云 FC:超出按量实例上限时,新请求进入排队队列(默认队列长度 1000),超时后丢弃。预留实例始终可用,不受按量配额影响。支持设置最大实例数防止资源过度消耗。
  • 腾讯云 SCF:超出按量并发上限时直接返回 429。预置并发实例优先处理请求,剩余按量实例弹性伸缩。支持版本别名独立配置并发,实现灰度发布时的流量控制。
实践建议:对于核心业务函数,始终配置预留/预置并发,避免因账户级配额共享导致关键链路被非核心函数抢占。同时设置告警阈值(如并发使用率达到 80%)提前扩容。

2.4 配额管理操作对比

三家厂商均提供控制台、CLI 和 SDK 进行配额管理,但操作路径和命令格式存在差异。

操作场景 AWS Lambda (AWS CLI) 阿里云 FC (fcli / SDK) 腾讯云 SCF (SCF CLI)
查看账户并发 aws lambda get-account-settings fcli function get --region cn-hangzhou scf list-function
设置预留并发 aws lambda put-function-concurrency --function-name myFunc --reserved-concurrent-executions 100 fcli function put --function-name myFunc --instance-lifecycle-config '{"reserved":100}' scf put-reserved-concurrency --function-name myFunc --reserved-memory 100
设置按量上限 aws lambda put-function-concurrency --function-name myFunc --reserved-concurrent-executions 0(关闭预留) fcli function put --function-name myFunc --instance-lifecycle-config '{"max":200}' scf put-function-concurrency --function-name myFunc --max-concurrency 200
提额申请 控制台 → Service Quotas → 请求增加 工单系统 → 提交配额提升申请 控制台 → 配额管理 → 申请提升
注意:阿里云 FC 的预留实例和按量实例上限是独立配置的,预留实例不计入按量配额。腾讯云 SCF 的预置并发需要额外付费,即使没有请求也会产生费用。AWS Lambda 的预留并发不额外收费,但会占用账户级配额。

2.5 配额体系架构总结

三家厂商的配额体系在宏观上遵循相似的账户级 → 函数级 → 实例级三层模型,但在弹性粒度、计费方式和限流行为上各有特色。

Serverless 配额体系通用架构 账户级配额 (Account-Level) 总并发上限 | 总调用次数 | 总资源使用量 | 区域隔离 AWS: 1000 | 阿里云: 100 | 腾讯云: 128 函数级配额 (Function-Level) 预留并发 | 按量上限 | 内存/超时配置 | 版本别名 每个函数独立配置,可覆盖账户级默认值 实例级配额 (Instance-Level) 单实例并发处理数 | 实例生命周期 | 冷启动策略 AWS: 1 请求/实例 | 阿里云: 1 请求/实例 | 腾讯云: 1 请求/实例