美文网首页
几种限流算法

几种限流算法

作者: 十毛tenmao | 来源:发表于2021-09-17 22:05 被阅读0次

    安全稳定的Open API必须有限频措施,防止接口被某个用户非预期超量调用,影响正常用户使用

    常用的限流算法有直接计数法,漏斗算法,令牌桶算法

    计数法

    单位时间内设定限频阈值,如果访问超过该阈值则拒绝。实现简单,缺点是容易在小突发流量情况下,拒绝很多请求,影响服务可用性

    漏斗算法(Leaky Bucket)

    核心思想就是请求收到后,会先进入漏斗,然后再按照限定速度请求服务,及可以达到限流的目的,也可以保证后台收到的请求都是平稳的。 但是也有一个缺点,就是突然流量的时候,会导致处理时间太长。当然流量更大的时候会被拒绝,这个是正常的。

    常见实现方式有:限制大小的队列

    令牌桶(Token Bucket)

    核心思想是所有请求需要再令牌桶获取到令牌才可以处理, 同时有一个服务匀速的往令牌桶装令牌。
    可以满足一定的突发请求处理,如果超过令牌桶的请求,也会被拒绝

    常见实现方式有:gauva包中的RateLimiter

    参考

    相关文章

      网友评论

          本文标题:几种限流算法

          本文链接:https://www.haomeiwen.com/subject/qsbygltx.html