问题标签 [spike-arrest]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
78 浏览

apigee - Apigee 中的 Spike Arrest 政策

尖峰逮捕不作为计数实施。它们目前被实施为基于最后一次匹配流量成功处理的时间的速率限制。

我在很多地方都看到了 SpikeArrest Policy 的上述消息。

在不维护计数的情况下,它将如何设法保护超过允许计数。

提前致谢..

0 投票
1 回答
190 浏览

gateway - APIGEE Spike Arrest 前端集成的最佳实践/实用用法

最近在处理 APIGEE 网关开发,发现 Spike Arrest 的使用非常受限于某些集成(仅限后端)。根据 APIGEE 的建议,我们应该避免在此处使用并发速率限制,并可能将其替换为尖峰停止。

但是 Spike Arrest 的实现方式有点狡猾,例如 10 tps 的尖峰停止表示当它每 100 毫秒收到超过 1 个请求时,它将返回触发尖峰停止限制异常。

有了这种行为,看起来速率控制必须在客户端进行控制。绝对可以从客户端后端进行,但是那些直接从前端使用的 API 呢?

想了解在不同情况下推荐的尖峰制动标识符是什么

后端集成

  • 可能通过 API 密钥或身份验证令牌通过每个客户端 ID

前端/SPA

很难,因为与后端不同,考虑到多个用户多个选项卡,无法控制来自浏览器的请求率,但是,我已经考虑过

  • 知识产权?(但单个 IP != 单个用户会话)
  • 浏览器 SessionId ?
  • 让客户端知道秒杀错误并执行重试?
  • 不应该用秒杀?

欢迎和赞赏任何见解