限流就是通过对并发访问/请求进行限速或一个时间窗口内的请求进行限速,从而达到保护系统的目的。一般系统可以通过压测来预估能处理的峰值,一旦达到设定的峰值阀值,则可以拒绝服务(定向错误页或告知资源没有了)、排队或等待(例如:秒杀、评论、下单)、降级(返回默认数据)。
分布式系统,布署了多个节点且最终调用的是同一个API/服务商接口。对单个节点能做到将QPS限制一定范围内,但是多节点情况下,如果每个节点均是N/s,那么到服务商那边的总请求就是 (节点数 * N)/s,于是限流效果失效。金山云通过Redis+ RateLimiter方式,解决分布式限流问题。
文档内容是否对您有帮助?
评价建议不能为空
非常感谢您的反馈,我们会继续努力做到更好!