基于漏桶(Leaky bucket)与令牌桶(Token bucket)算法的流量控制也叫过载保护

基于漏桶(Leaky bucket)与令牌桶(Token bucket)算法的流量控制

Congestion Control Algorithm,这是TCP里的一个专业术语,拥塞控制算法。说的也是流量控制类似的事。

老规矩,直接上图。

先看看漏桶(Leaky bucket)



再看看令牌桶(Token bucket)

Guava官方文档-RateLimiter类


漏桶(Leaky bucket)与令牌桶(Token bucket)算法有什么区别。

令牌桶,初始令牌个数是0,最大容量是100,当1万个请求到来时(初始令牌个数是0时),也只能一秒处理一个请求个,因为令牌是每秒产生一个。

漏桶,初始流量是0,最大流量是100,当1万个请求到来时,可以迅速的,最多的,能同时处理100个。

=============================================

令牌桶,初始令牌个数是100,最大容量是100,当1万个请求到来时(初始令牌个数是0时),可以迅速的,最多的,同时处理100个请求,从第101个请求开始,也只能等新令牌的产生,而令牌是每秒产生一个。
漏桶,初始流量是0,最大流量是100,当1万个请求到来时,可以迅速的,最多的,能同时处理100个。

Google Guava RateLimiter类,是一个基于令牌桶的限流算法。

参考以下文章:

http://www.javaranger.com/archives/1769

https://www.kullabs.com/classes/subjects/units/lessons/notes/note-detail/4008

http://www2.ic.uff.br/~michael/kr1999/6-multimedia/6_06-scheduling_and_policing.htm

  • 2
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值