背景
在開發(fā)高并發(fā)系統(tǒng)的時候,有三種方法來保護(hù)我們的系統(tǒng)
- 緩存
緩存的目的是為了提升系統(tǒng)訪問量耕挨,增大系統(tǒng)處理的容量 - 降級
降級是當(dāng)服務(wù)出問題或者影響到核心流程的性能,暫時屏蔽掉服務(wù),保證核心服務(wù)的正常 - 限流
限流是為了限制某些不能用緩存和降級來解決的場景迄靠,例如稀缺資源(秒殺、搶購)喇辽、寫服務(wù)(評論掌挚、下單)、頻繁的復(fù)雜查詢(評論的最后幾頁)菩咨,因此需要一種手段來限制這些場景的并發(fā)/請求量吠式,即限流
限流的手段
- 應(yīng)用級限流
- 分布式限流
- 接入層限流
限流算法
- 計(jì)數(shù)器
- 令牌桶算法
- 漏桶算法