速率限制可以保护和提高基于API的服务的可用性。如果你正在与一个API对话,并收到HTTP 429 Too Many Requests的响应状态码,说明你已经被速率限制了。这意味着你超出了给定时间内允许的请求数量。你需要做的就是放慢脚步,稍等片刻,然后再试一次。
为什么要速率限制?
当你考虑限制你自己的基于API的服务时,你需要在用户体验、安全性和性能之间进行权衡。
控制数据流的最常见原因是保持基于API的服务的可用性。但也有安全方面的好处,一次无意或有意的入站流量激增,就会占用宝贵的资源,影响其他用户的可用性。
通过控制传入请求的速率,你可以:保障服务和资源不被“淹没”。
缓和暴力攻击
防止分布式拒绝服务(DDOS)攻击
如何实施限速?
速率限制可以在客户端级别,应用程序级别,基础架构级别或介于两者之间的任何位置实现。有几种方法可以控制API服务的入站流量:按用户:跟踪用户使用API密钥、访问令牌或IP地址进行的调用
按地理区域划分:例如降低每个地理区域在一天的高峰时段的速率限制</