SpringCloud Gateway实现限流功能详解

1 什么是限流

通俗的说,限流就是 限制一段时间内,用户访问资源的次数 ,减轻服务器压力,限流大致分为两种:

1. IP 限流(5s 内同一个 ip 访问超过 3 次,则限制不让访问,过一段时间才可继续访问)

2. 请求量限流(只要在一段时间内(窗口期),请求次数达到阀值,就直接拒绝后面来的访问了,过一段时间才可以继续访问)(粒度可以细化到一个 api(url),一个服务)

2 本次限流模型

限流模型 : 漏斗算法 ,令牌桶算法,窗口滑动算法 计数器算法

SpringCloud Gateway实现限流功能详解_第1张图片

入不敷出

1)、所有的请求在处理之前都需要拿到一个可用的令牌才会被处理;

2)、根据限流大小,设置按照一定的 速率 往桶里添加令牌;

3)、 桶设置最大的放置令牌限制 ,当桶满时、新添加的令牌就被丢弃或者拒绝;

4)、请求达到后首先要获取令牌桶中的令牌,拿着令牌才可以进行其他的业务逻辑,处理完业务逻辑之后,将令牌直接删除;

5)、令牌桶有最低限额,当桶中的令牌达到最低限额的时候,请求处理完之后将不会删除令牌,以此保证足够的限流ÿ

你可能感兴趣的:(gateway,spring,cloud,gateway,spring)