大流量限流與消峰方案
- 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。