目录


限流算法[返回到目录]

服务端限制请求速率时,就会用到限流算法。常用的限流算法有漏斗算法令牌捅算法

1,漏斗算法:

leaky-bucket.png

漏斗有一个进水口 和 一个出水口,出水口以一定速率出水,并且有一个最大出水速率:

2,令牌桶算法:

token-bucket.png

系统以恒定的速率产生令牌,然后把令牌放到令牌桶中,令牌桶有一个容量,当令牌桶满了的时候,再向其中放令牌,那么多余的令牌会被丢弃;当想要处理一个请求的时候,需要从令牌桶中取出一个令牌,如果此时令牌桶中没有令牌,那么则拒绝该请求。


Python实现[返回到目录]


Redis实现[返回到目录]

请参考Spring-Cloud-Gateway 源码解析 —— 过滤器 (4.10) 之 RequestRateLimiterGatewayFilterFactory 请求限流


参考文档[返回到目录]