限流
限流在分布式和微服务系统中非常常用的设计思想,在出现流量洪峰或者恶意攻击时,限流能够保护系统的服务能够正常运行。
限流策略
1.拒绝服务:把多出来的请求拒绝掉
2.服务降级:关闭或把后端做降级处理,释放资源给主流程服务
3.优先级请求:将目前系统的资源分配给优先级更高的用户,优先处理权限更高的用户请求
4.延时处理:一般来说会使用缓冲队列来缓冲大量的请求,系统根据自身负载能力异步消费队列中的请求
5.弹性伸缩:采用自动化运维的方式对相应的服务做自动化伸缩
常用的限流算法
常见的限流算法有:漏桶、令牌桶。计数器也可以用来进行粗暴限流实现。
1.漏桶算法:
漏桶算法的基本思想是:利用一个缓冲区ÿ