大流量限流与消峰方案
- 2020 年 4 月 11 日
- 筆記
当你的才华还撑不起你的野心时,你应该静下心来学习。
当你的能力实现不了你的梦想时,你应该沉下心来练习。

1、常见痛点:
连接资源耗尽、分布式缓存容量被撑爆、数据库吞吐量降低,最终引起系统雪崩。2、应对高并发、大流量的常规手段:
扩容
动静分离
缓存
服务降级
限流
限流方案:
一、限流算法
1、令牌桶算法:主要用于限制流量的平均流入速率
2、漏桶算法:限制流出速率
3、计数器算法:实现抢购限流
二、实际应用
1、使用Google Guava(开源) 实现平均速率限流
2、使用Nginx实现接入层限流
消峰方案
一、基于时间分片的消峰方案,对峰值流量进行分散处理
1、活动分时段进行实现消峰,eg:将数量5000分10个时段处理
2、通过答题验证实现消峰,可以成功阻挡秒杀器和降低峰值流量,eg:12306奇葩验证码
二、异步调用需求
1、使用MQ实现系统之间的解耦,eg:Apache开源的ActiveMQ、阿里开源的RocketMQ、Kafka。