限流 - 介绍
1:为什么要限流?
1)系统有自己的承载能力范围
2)防止恶意攻击
3)防止级联故障
4)。。。
2:限流算法
1)计数器
2)滑动窗口
3)令牌桶算法
4)漏桶算法
3:限流的实现方式有哪些?
1)java的信号量
2)redis计数器
3)guava的RateLimiter
4)springcloud实现的分布式限流网关gateway(redis+lua)
5)Nginx的限流模块(漏桶算法)
4:单机版限流、分布式限流?
1)单机版限流
只能控制单机,在分布式环境下,无法做到总体控制流量
2)分布式限流
采用全局总控的方式,来实现分布式的接口总体限流