Dan*_*iel 5 throttling amazon-web-services aws-lambda aws-api-gateway
我正在尝试启用 API 网关限制,但它没有按预期工作。
我将默认方法限制速率设置为每秒 1 个请求,并将突发设置为 1 个请求。
然后,我在代码中创建了一个循环,向我的 API 端点同时发出 10 个请求。
for (let i=0; i<10; i++) {
axios.get(url);
}
Run Code Online (Sandbox Code Playgroud)
预期结果是:
但实际结果却恰恰相反:
我重复了该过程,但同时发出 20 个请求,结果是:
在该 API 方法的 CloudWatch 日志中,我发现了不同的日志流,每个日志流只有几毫秒的差异。
如果我将速率设置为每秒 0 个请求并将突发设置为 0 个请求,则限制将起作用并且所有请求都会受到限制。但是当我将 Rate 和 Bust 设置为 1 时,它无法按预期工作。
为什么会发生这种情况?我需要将 API 限制为每秒仅 1 个请求。
有两种方法可以对 API 调用应用限制:
\n当您需要应用 API 级或阶段级限制时,您必须使用使用计划:
\n\n\n使用计划指定谁可以访问一个或多个已部署的 API 阶段和方法\xe2\x80\x94,以及他们可以访问它们的数量和速度
\n
| 归档时间: |
|
| 查看次数: |
4127 次 |
| 最近记录: |