前言
系统的可靠性,是用户使用的信心所在。在资源有限的情况下,面对不断增长的流量,如何保证系统依然处于一个正常负载的状态呢?限流。限流问题可以追溯到网络通信中的流量整形(Traffic Shaping)和流量控制(Traffic Policing)。下面一起小窥一下有哪些精彩的算法。
简单窗口
流量曲线
优点:实现简单
缺点:精确度不够,临界情况下会qps会超出实际的值。
滑动窗口
简单来看,简单窗口精确度不够的原因在于,窗口移动的步伐太大,没有关注到之前窗口的流量。导致漏掉了一些统计窗口,所以我们可以慢慢的移动,让过去的流量被关注到,避免漏掉统计窗口。
但是这样就解决问题了吗?它只是概率性的缓解了问题。
相邻的窗口之间确实没有了突发流量,但是只要是有滑动距离且滑动距离内可以进入多个流量,就会像上图所