限频设置
限频设 置提供了针对云开发资源的调用频率限制功能,可以有效防止资源被过度调用,保障服务稳定性。
支持资源类型
当前已支持配置限频的资源包括:
- 云函数
- 云托管服务
限频设置说明
在云开发平台配置限频的步骤如下:
- 登录云开发平台
- 在左侧导航栏选择【环境配置】,进入【安全管控】
- 选择要配置的资源类型(云函数限频/云托管限频)
- 根据需要配置限频规则:
- 具体资源(云函数/云托管服务)
- 资源维度限频
- 客户端维度限频
- 点击【保存】应用配置
注意:
- 配置变更约1-2分钟生效
- 建议先在测试环境验证配置效果
- 过低的限频值可能影响正常业务
当前的限频设置包括两种维度:
- 资源维度限频 - 限制资源整体调用频率
- 客户端维度限频 - 限制单个客户端调用频率
资源维度限频
资源维度限频限制了指定资源的总调用频率,防止资源被过度调用导致服务不可用。
配置说明
- 可配置范围:100 至环境最大 QPS
- 计算方式:每秒请求数(QPS) = 对指定资源的总请求数/秒
- 典型场景:
- 保护核心业务函数或服务,不被突发流量打垮
- 限制第三方调用的频率
- 控制资源使用成本
配置建议
- 根据业务峰值流量设置合理阈值
- 预留20%-30%缓冲空间应对流量波动
- 配合监控告警及时发现限频情况
- 重要业务可考虑单独环境避免相互影响
示例:某云函数平均QPS为80,峰值120,建议配置限频150 QPS
客户端维度限频
客户端维度限频用于限制单个客户端对指定资源的调用频率,防止恶意刷接口或用户过度使用资源。
配置说明
- 可配置范围:0 至 30 QPS
- 标识方式:
- UserID(云开发用户ID/微信openid):基于云开发的用户 ID,或从小程序端请求时带有的用户 openid
- ClientIP(客户端IP地址):基于发起请求的客户端 IP 地址
- 选择建议:
- 有用户体系的业务选择UserID
- 匿名访问场景选择ClientIP
- 同一资源只能选择一种标识方式
- 典型场景:
- 防止用户频繁刷新页面
- 限制机器人爬虫行为
- 控制API调用配额
- 保护敏感接口不被爆破
配置示例
# UserID维度限频示例
资源: userProfile
限频类型: UserID
阈值: 5 QPS
效果:
- UserID=123 限制为5 QPS
- UserID=456 限制为5 QPS
- 无UserID的请求不受限
# ClientIP维度限频示例
资源: loginAPI
限频类型: ClientIP
阈值: 3 QPS
效果:
- IP=1.2.3.4 限制为3 QPS
- IP=5.6.7.8 限制为3 QPS
注意事项:
- UserID方式需要请求携带用户身份信息,未带有 UserID的请求会被忽略并放通
- ClientIP可能误伤共享IP的用户
- 重要业务建议同时配置资源维度和客户端维度限频