一,为什么限流或者限流的场景
为什么限流,很简单,因为遇到了高并发,需要提高系统应对大流量的能力,保证系统不宕机,维护系统正常的运行。如12306抢票,双十一的活动。
二,什么是限流,限制哪些流?
限流就是限制流量。但是流量这两个字比较笼统,还是没说清楚,我们将这个限流和具体业务放在一起聊一下就比较详细了。
- 限制某个接口一分钟内最多请求 100 次
- 限制某个用户的下载速度最多 100KB/S
- 限制某个用户同时只能对某个接口发起 5 路请求
- 限制某个 IP 来源禁止访问任何请求
我们聊聊上面几种业务的限流。
- 有通过具体接口限流:限制接口访问次数,达到了一定次数后,就拒绝访问。
- 通过参数限流:一个接口有某个指定的参数,也限制访问次数。
- 对网络的传输速率进行限流:一般遇到的是对一般用户限制下载速度,对vip 用户不限制下载速度
- 对指定的ip 进行限流:比如某个ip 传播不良信息,可以对他进行封号处理。
限流的处理方法一般是接口的访问频率,网络的传输速率,或者并发量吧,最常见的两种限流方式是请求频率和并发量,他们对应的限流称为请求频率限流和并发量限流。传输速率限流在下载场景下比较常用,比如一些资源下载站会限制普通用户的下载速度,只有购买会员才能提速,这种限流的做法实际上和请求频率限流类似,只不过一个限制的是请求量的多少,一个限制的是请求数据报文的大小。这篇文章主要介绍请求频率限流和并发量限流。