限流算法之计数器算法

限流算法之计数器算法

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

那该怎么进行限流呢?在限流中常常用的算法有计数器算法,令牌桶和漏桶算法。这里主要说一下什么是计数器算法。

计算器算法是指在指定时间内累加访问次数,并且在 下一个时间周期中可以清零继续从零累加访问次数。


限流算法之计数器算法

实际上就说当某个时间周期内,访问次数如果大于设定的阈值,就拒绝用户的访问。

最简单的方式就是利用redis的原子操作incr累加并且设置过期时间,判断周期内新值是否大于阈值,大于就直接返回。

限流算法之计数器算法

我们以一分钟为例,如果前10秒达到了最大的阈值。那么余下50秒都会拒绝服务,这种中显现是否合理,怎么解决这种问题?

限流算法之计数器算法

如果是你你会怎么解决计数器算法带来的这个问题?

展开阅读全文

页面更新:2024-03-19

标签:算法   计数器   阈值   目的   都会   令牌   中常   顾名思义   速率   缓存   原子   周期   次数   时间   数码

1 2 3 4 5

上滑加载更多 ↓
推荐阅读:
友情链接:
更多:

本站资料均由网友自行发布提供,仅用于学习交流。如有版权问题,请与我联系,QQ:4156828  

© CopyRight 2020-2024 All Rights Reserved. Powered By 71396.com 闽ICP备11008920号-4
闽公网安备35020302034903号

Top