比较配额和 SpikeArrest 政策
您正在查看 Apigee Edge 文档。
前往 Apigee X 文档。 信息
配额和 SpikeArrest 政策 - 想要知道使用哪种政策来最好地满足您的速率限制需求?请看下面的对比图。
|
配额 |
SpikeArrest |
该模型可用于: |
限制应用在特定时间段内可以与 API 代理的目标后端建立的连接数。 |
保护 API 代理的目标后端免受严重流量高峰和拒绝服务攻击。 |
请勿将其用于以下用途: |
请勿使用它来保护 API 代理的目标后端免受流量高峰的影响。
为此,请使用 SparkeArrest 政策。
|
请勿使用它来计算和限制应用在特定时间段内可以与 API 代理的目标后端建立的连接数。
为此,请使用配额政策。
|
存储计数? |
是 |
否 |
附加政策的最佳做法: |
将其附加到 ProxyEndpoint Request PreFlow,通常是用户进行身份验证之后。
这样,该政策便可在 API 代理的入口点检查配额计数器。
|
将其附加到 ProxyEndpoint Request PreFlow,通常是在流程的开始处。
这样可以在 API 代理的入口点提供高峰防护。
|
达到上限时的 HTTP 状态代码: |
500 (内部服务器错误)*
|
500 (内部服务器错误)*
|
重要提示: |
- 配额计数器存储在 Cassandra 中。
- 配置政策以异步同步计数器,节省资源。
- 异步计数器同步可能会导致速率限制响应延迟,这可能会导致调用次数稍微超过所设置的限制。
|
- 根据最后收到流量的时间执行限制。此时间按消息处理器存储。
- 如果指定速率限制为每秒 100 次调用,则消息处理器只允许每 1/100 秒(10 毫秒)执行 1次调用。在 10 毫秒内进行的第二次调用将被拒绝。
- 即使每秒速率上限较高,几乎同时发生的请求也可能导致拒绝。
|
了解更多详情: |
配额政策 |
SpikeArrest 政策 |
*对于配额政策和 SpikeArrest 政策,超出速率限制的默认 HTTP 状态代码是通用 500 Internal Server Error
。
您可以通过添加组织级层的属性 (features.isHTTPStatusTooManyRequestEnabled
),将这些政策的状态代码更改为 429 Too Many Requests
。如果您是 Cloud 客户,请与 Apigee Edge 支持团队联系以启用该属性。
如未另行说明,那么本页面中的内容已根据知识共享署名 4.0 许可获得了许可,并且代码示例已根据 Apache 2.0 许可获得了许可。有关详情,请参阅 Google 开发者网站政策。Java 是 Oracle 和/或其关联公司的注册商标。
最后更新时间 (UTC):2024-11-15。
[[["易于理解","easyToUnderstand","thumb-up"],["解决了我的问题","solvedMyProblem","thumb-up"],["其他","otherUp","thumb-up"]],[["没有我需要的信息","missingTheInformationINeed","thumb-down"],["太复杂/步骤太多","tooComplicatedTooManySteps","thumb-down"],["内容需要更新","outOfDate","thumb-down"],["翻译问题","translationIssue","thumb-down"],["示例/代码问题","samplesCodeIssue","thumb-down"],["其他","otherDown","thumb-down"]],["最后更新时间 (UTC):2024-11-15。"],[],[]]