首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

限流算法之计数器算法

限流算法之计数器算法(Java实现)

在开发高并发系统时,很多手段来保护系统,如缓存、降级和限流等。什么是限流呢?顾名思义,限流就是限制流量。通过限流,我们可以很好地控制系统的qps,从而达到保护系统的目的。限流的目的通过对并发访问进行限速,一旦达到一定的速率就可以拒绝服务、排队等待、降级等。

限流算法最简单的实现就是计数器算法(其他还有令牌桶和漏桶算法)

计数器算法是限流算法里最简单也是最容易实现的一种算法。比如我们限制一个接口每分钟调用不能超过1000次,我们可以这样设计,定义2个变量,一个是访问次数,一个是记录访问次数计算的开始时间,如果记录时间和当前时间比较大于1分钟,则重新计时,如果在一分钟以内,我们把访问次数加一。

下面是个简单的示意图

示意图

说的再多,不如写点代码。

计数器法

后续介绍令牌桶和漏桶算法,敬请期待,

  • 发表于:
  • 原文链接https://kuaibao.qq.com/s/20200515A0SJZL00?refer=cp_1026
  • 腾讯「腾讯云开发者社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。
  • 如有侵权,请联系 cloudcommunity@tencent.com 删除。

扫码

添加站长 进交流群

领取专属 10元无门槛券

私享最新 技术干货

扫码加入开发者社群
领券