4种经典限流算法详解

最近,我们的业务系统引入了Guava的RateLimiter限流组件,它是基于令牌桶算法实现的,而令牌桶是非常经典的限流算法 。本文将跟大家一起学习几种经典的限流算法 。

4种经典限流算法详解

文章插图
 
限流是什么?维基百科的概念如下:
In computer networks, rate limiting is used to control the rate of requests sent orreceived by a network interface controller. It can be used to prevent DoS attacks and limit web scraping简单翻译一下:在计算机网络中,限流就是控制网络接口发送或接收请求的速率,它可防止DoS攻击和限制Web爬虫 。
限流,也称流量控制 。是指系统在面临高并发,或者大流量请求的情况下,限制新的请求对系统的访问,从而保证系统的稳定性 。限流会导致部分用户请求处理不及时或者被拒,这就影响了用户体验 。所以一般需要在系统稳定和用户体验之间平衡一下 。举个生活的例子:


    推荐阅读