背景
当系统并发量攀升,为了在有限的物理资源下保护系统可用性,对用户发来的请求进行限流。
限流思路
who(限流维度):
用户维度限流:同一个用户,如果发生过多的异常流量,计数到redis里边,对于n次进行异常流量操作的用户,计入黑名单,下次拒绝访问。
url接口维度限流:不同用户访问同一个接口,接口压力过大,触发限流
限流分类
单机限流
1 限制一个url访问频率
2 限制用户访问
集群限流
比如为了限制某个资源被每个用户或者商户的访问次数,5s只能访问2次,或者一天只能调用1000次,这种需求,单机限流是无法实现的,这时就需要通过集群限流进行实现。
限流算法