1. Serverless 配额概述

Serverless 架构的核心优势在于按需伸缩、免运维,但“无限弹性”并非没有边界。云平台通过 Requests 配额 来定义单个函数或整个账号在单位时间内允许消耗的资源上限。理解配额是进行 Serverless 生产化部署的第一步,也是避免线上故障、控制成本的关键。

什么是 Serverless Requests 配额

Serverless Requests 配额是云平台对函数计算服务施加的一组资源使用上限。它规定了在特定时间窗口内,一个函数、一个别名或一个账号可以发起的请求总数、同时运行的实例数以及可分配的最大内存等指标。配额本质上是一种多租户隔离与容量规划手段,确保单一用户不会耗尽集群资源,同时也为用户提供可预期的性能边界。

提示: 配额(Quota)与限制(Limit)略有不同。配额通常指可调整的上限(如通过工单提升),而限制是平台硬性不可调整的边界。本课程中统一使用“配额”指代所有可配置或可感知的上限。

配额的重要性

配额管理并非可有可无的配置项,它直接关系到服务的可用性、成本与稳定性。以下是配额在四个关键维度上的作用:

维度 说明 典型风险
防止资源耗尽 避免单个函数因流量突增而占用全部集群资源,影响同一账号下其他函数或其他用户的服务。 突发流量导致整个区域的服务雪崩
成本控制 通过限制并发与调用次数,防止代码缺陷或恶意攻击产生巨额账单。 死循环或 DDoS 攻击导致账单飙升
性能保障 合理的并发配额可以避免函数实例过度争抢 CPU 和网络带宽,保证响应延迟稳定。 高并发下请求超时率急剧上升
容量规划 配额数据是评估服务扩容、地域迁移和架构升级的基础输入。 大促前未提升配额导致限流,损失营收

常见配额类型

不同云厂商的配额项名称略有差异,但核心维度高度一致。以下是最常见的三种配额类型,也是本课程后续实战操作的重点对象。

1. 调用次数(Requests per Second / per Month)

定义函数在单位时间内被调用的总次数。通常分为每秒调用次数(QPS 配额)和每月调用次数(月累计配额)。前者用于控制突发流量,后者用于限制长期使用量。

  • QPS 配额:超过后请求被直接拒绝,返回 429 或 503 状态码。
  • 月调用配额:超过后可能停止服务或触发计费告警。

2. 并发数(Concurrent Executions)

定义同一时刻正在处理请求的函数实例数量。这是 Serverless 中最关键的配额,直接影响函数的伸缩上限。例如,一个函数设置了 100 并发上限,则最多同时存在 100 个实例处理请求,第 101 个请求必须等待或排队。

  • 函数级并发:单个函数的最大并发实例数。
  • 账号级并发:整个账号下所有函数的总并发上限。

3. 内存(Memory Size)

定义每个函数实例可分配的最大内存。内存大小通常与 CPU 算力、网络带宽呈正相关。常见配置范围从 128 MB 到 10 GB 不等。内存配额不仅影响性能,也直接决定计费单价。

  • 最小内存:通常为 128 MB,适合轻量级事件处理。
  • 最大内存:不同云厂商上限不同,一般在 3 GB ~ 10 GB 之间。
注意: 内存配额并非越大越好。过大的内存会导致冷启动时间增加、资源浪费。建议根据实际业务压测结果选择合适的内存规格,通常从 256 MB 或 512 MB 开始测试。

配额关系全景图

下面的 SVG 图展示了三种核心配额在 Serverless 请求生命周期中的位置与相互关系。从客户端发起请求开始,依次经过调用次数检查、并发控制、实例分配与内存限制,最终返回响应或触发限流。

Serverless 请求配额关系全景图 Serverless 请求配额关系全景图 客户端请求 ① 调用次数检查 ② 并发控制 ③ 实例分配+内存 限流 / 429 成功响应 说明: ① 调用次数配额:控制每秒/每月请求总量,超出直接限流。 ② 并发配额:控制同时运行的实例数,超出后请求排队或限流。 ③ 内存配额:决定每个实例的资源规格,影响性能与成本。

配额类型对比速查表

下表从作用层次、默认值范围、超限后果三个维度对三种配额进行横向对比,方便快速查阅。

配额类型 作用层次 典型默认值范围 超限后果
调用次数 函数级 / 账号级 QPS: 100~1000;月调用: 100万~1000万 请求被拒绝,返回 429 Too Many Requests
并发数 函数级 / 账号级 函数级: 10~100;账号级: 100~1000 新请求排队等待或触发限流,延迟增加
内存 函数实例级 128 MB ~ 3 GB(部分平台支持 10 GB) OOM(内存溢出)导致实例强制重启

配额与计费的关系

配额不仅影响可用性,也直接决定账单金额。Serverless 计费通常包含三个部分:

  • 调用次数费用:按百万次请求计费,配额越高,潜在费用上限越高。
  • 执行时间费用:按实例内存 × 执行时间(GB-秒)计费,内存配额直接影响单价。
  • 并发实例费用:部分平台对预留并发实例额外收费,超出免费配额的部分按实例时长计费。
核心原则: 配额是成本的上限,也是性能的下限。合理的配额设置 = 在预算范围内获得最佳响应速度与吞吐量。

配额管理的最佳实践起点

在开始后续章节的实战操作之前,建议先完成以下三个准备工作:

  1. 梳理业务流量模型:评估日常峰值 QPS、平均执行时间、最大并发数。
  2. 了解平台默认配额:登录云厂商控制台,查看当前账号与函数的默认配额值。
  3. 设置告警阈值:为调用次数、并发数、内存使用率分别配置 70%、85%、95% 三级告警。