首页 > 代码库 > 网站限流处理
网站限流处理
1.常见两种方式 漏桶算法和令牌桶算法
漏桶算法:1.有一个固定容量的漏桶,已固定的速率流出水滴。
2.可以任意速率流入水滴到漏桶
3.当漏桶满了,水溢出(相当于丢弃)
令牌桶算法:
1.以固定的速率向桶里放令牌
2.当桶内的令牌数量达到最大值后,后续放入的令牌被丢弃
3.当需要发送N个单位大小的数据时,就从桶内去N个令牌
4.当桶内的令牌数量小于设定的大小时,不能删除令牌,也就是不能发送数据,这是数据可能被丢弃,也可能被缓冲区缓存下来。
2.其它方式
统计计数,主要思想是记录指定时间内的访问量,然后定时将计数清零。
统计计数方式可以使用jedis的incr和expire的api实现,也可以使用并发Map来实现。
nginx中配置限流
3.开源实现
guava RateLimiter ,基于令牌桶算法实现 具体用法参考 http://ifeve.com/guava-ratelimiter/
网站限流处理
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。