前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >几种限流算法

几种限流算法

作者头像
十毛
发布2021-11-24 13:31:31
3430
发布2021-11-24 13:31:31
举报

安全稳定的Open API必须有限频措施,防止接口被某个用户非预期超量调用,影响正常用户使用

常用的限流算法有直接计数法,漏斗算法,令牌桶算法

计数法

单位时间内设定限频阈值,如果访问超过该阈值则拒绝。实现简单,缺点是容易在小突发流量情况下,拒绝很多请求,影响服务可用性

漏斗算法(Leaky Bucket)

核心思想就是请求收到后,会先进入漏斗,然后再按照限定速度请求服务,及可以达到限流的目的,也可以保证后台收到的请求都是平稳的。 但是也有一个缺点,就是突然流量的时候,会导致处理时间太长。当然流量更大的时候会被拒绝,这个是正常的。

常见实现方式有:限制大小的队列

令牌桶(Token Bucket)

核心思想是所有请求需要再令牌桶获取到令牌才可以处理, 同时有一个服务匀速的往令牌桶装令牌。 可以满足一定的突发请求处理,如果超过令牌桶的请求,也会被拒绝

常见实现方式有:gauva包中的RateLimiter

参考

本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2021/9/18 下,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 计数法
  • 漏斗算法(Leaky Bucket)
  • 令牌桶(Token Bucket)
  • 参考
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档