并发超限
异步调用
异步调用包含 云 API 触发器 的异步调用、COS 触发器、定时触发器、CMQ Topic 触发器、CLS 触发器 及 MPS 触发器 等,具体触发器调用类型请参考相关触发器说明文档。
当异步调用并发超限时其处理逻辑由云函数 SCF 进行自动重试,详情可参见 异步调用重试策略。
同步调用
同步调用包含 云 API 触发器 的同步调用、API 网关触发器 及 CKafka 触发器。
由于同步调用的过程中,错误信息会直接返回给用户,所以在同步调用中发生错误时,平台不会自动重试,重试策略(是否重试、重试几次)均由调用方决定。同步调用场景下云函数 SCF 将返回 432状态码,请求不会进行重试。
解决并发超限相关指引
查看并发超限监控
您可通过云函数控制台查看相关函数的函数受限次数和具体受限日志。
查看函数受限次数
1. 登录 Serverless 控制台,在左侧选择函数服务。
2. 在函数服务页中,选择需要查看的函数名,进入该函数的详情页面。
3. 在函数管理中,选择监控信息 > 受限次数,查看相关函数的受限次数情况。如下图所示:
查看函数受限日志
1. 登录 Serverless 控制台,在左侧选择函数服务。
2. 在函数服务页中,选择需要查看的函数名,进入该函数的详情页面。
3. 在日志查询中,选择调用日志 > 调用超限,查看相关函数的具体受限日志。如下图所示:
并发超限处理
异步调用对并发超限场景有平台重试策略帮助用户自动对并发超限进行处理并重试,通常情况下异步调用的并发超限用户无需进行任何操作,在设定的最长等待时间内,函数平台会自动对并发超限错误进行重试。
同步调用发生错误时,错误信息会直接返回给用户,请求不会进行重试。
注意
异步调用中,如对时效性比较敏感可以通过配置最大独占配额来减少或降低超限对业务系统的影响。例如需要重要消息超过设置的最长保留时间后不会丢失则应设置死信队列兜底。
配置死信队列
配置最大独占配额
最大独占配额额度是用于保障函数可用并发的最大额度,通过配置最大独占配额额度,函数可以在额度内启动足够并发数量,并发最大可以达到配置额度。通过设置最大独占配额额度,函数不再与其他函数共享账号并发额度,可以降低出现并发超限的可能,获得更有保障的运行。详情可参见 设置最大独占配额。