【发布时间】:2021-03-12 06:41:32
【问题描述】:
最近在处理 APIGEE 网关开发,发现 Spike Arrest 的使用非常受限于某些集成(仅限后端)。 根据 APIGEE 的建议,我们应该避免使用并发速率限制 here,并可能用尖峰抑制代替它。
但是 Spike Arrest 的实施方式有点狡猾,例如 10 tps的spike逮捕表示每100ms收到超过1个请求时将返回触发spike逮捕限制异常。
对于这种行为,看起来速率控制必须在客户端进行控制。从客户端后端肯定可以做到,但是那些直接从前端使用的 API 呢?
想了解在不同情况下推荐的尖峰制动标识符是什么
后端集成
- 可能通过 API 密钥或身份验证令牌通过每个客户端 ID 进行
前端/SPA
很难,因为与后端不同,考虑到多个用户多个选项卡,无法控制来自浏览器的请求率,但是,我已经考虑过
- IP ? (但单个 IP != 单个用户会话)
- 浏览器 SessionId ?
- 让客户端知道尖峰抑制错误并执行重试?
- 不应使用尖峰制动?
欢迎和赞赏任何见解
【问题讨论】:
标签: gateway apigee api-gateway apigee127 spike-arrest