限流算法

问题场景:基于springCloud的微服务搭建,建立网关服务基于Zuul。限流Filter

限流算法

限流:即在一定时间内,特定的主题或者特定类型的请求数量做一定的限制limit,如果超过limit,则切断请求做固定返回。其目的和作用:维护系统稳定性、抵抗高峰期请求对系统的冲击。

算法:目前比较流行的算法有“漏桶限流算法”、“令牌桶限流算法”。

令牌桶限流算法:简单介绍思想:给定容器V,以恒定速率朝V中放入钥匙Y,如果V满 则停止放入Y。请求request来了,则去V中获取钥匙Ys,如果Vcurrent<Vmin 则请求抛弃或者等待V放入Y。对请求的速率是没有限制的,允许突发的大量的请求。

漏桶限流算法:请求以速率V进入水桶S,S以给定的速率V(常)响应,当V>V(常) 且当前S(current)>S(all)时,请求会丢失或者阻塞。因为响应速度恒定,所以这个常常被用来作为整流,保障请求比较平滑。

贴图来自百度:限流算法     限流算法