美文网首页
高并发场景下的限流算法

高并发场景下的限流算法

作者: 蜗牛淋雨 | 来源:发表于2019-03-28 15:24 被阅读0次

    限流算法

    限流是解决高并发大流量的一种方案,至少是可以保证应用的可用性。

    通常有以下两种限流方案:

    • 漏桶算法
    • 令牌桶算法

    漏桶算法

    漏桶算法,来自网络.png

    漏桶算法非常简单,就是将流量放入桶中并按照一定的速率流出。如果流量过大时候并不会提高流出效率,而溢出的流量也只能是抛弃掉了。

    这种算法很简单,但也非常粗暴,无法应对突发的大流量。
    这时可以考虑令牌桶算法。

    令牌桶算法

    令牌桶算法-来自网络.gif

    令牌桶算法是按照恒定的速率向桶中放入令牌,每当请求经过时则消耗一个或多个令牌。当桶中的令牌为 0 时,请求则会被阻塞。

    note:
    令牌桶算法支持先消费后付款,比如一个请求可以获取多个甚至全部的令牌,但是需要后面的请求付费。也就是说后面的请求需要等到桶中的令牌补齐之后才能继续获取。

    相关文章

      网友评论

          本文标题:高并发场景下的限流算法

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