上一篇 <<<應(yīng)用級限流
下一篇 >>>Naocs集群注意事項
接入層通常指請求流量的入口劲件,該層的主要目的有:負載均衡激率、非法請求過濾、請求聚合、緩存做盅、降級吮旅、限流、A/B測試杭攻、服務(wù)質(zhì)量監(jiān)控等等趟妥,可以參考筆者寫的《使用Nginx+Lua(OpenResty)開發(fā)高性能Web應(yīng)用》猫态。
對于Nginx接入層限流可以使用Nginx自帶了兩個模塊:連接數(shù)限流模塊ngx_http_limit_conn_module和漏桶算法實現(xiàn)的請求限流模塊ngx_http_limit_req_module。還可以使用OpenResty提供的Lua限流模塊lua-resty-limit-traffic進行更復(fù)雜的限流場景披摄。
limit_conn用來對某個KEY對應(yīng)的總的網(wǎng)絡(luò)連接數(shù)進行限流亲雪,可以按照如IP、域名維度進行限流疚膊。limit_req用來對某個KEY對應(yīng)的請求的平均速率進行限流义辕,并有兩種用法:平滑模式(delay)和允許突發(fā)模式(nodelay)。
ngx_http_limit_conn_module
limit_conn是對某個KEY對應(yīng)的總的網(wǎng)絡(luò)連接數(shù)進行限流寓盗」嘧可以按照IP來限制IP維度的總連接數(shù)璧函,或者按照服務(wù)域名來限制某個域名的總連接數(shù)。但是記住不是每一個請求連接都會被計數(shù)器統(tǒng)計基显,只有那些被Nginx處理的且已經(jīng)讀取了整個請求頭的請求連接才會被計數(shù)器統(tǒng)計蘸吓。
推薦閱讀:
<<<高并發(fā)架構(gòu)的整體思路
<<<一個網(wǎng)站訪問慢的真正原因
<<<高并發(fā)情況下,接口的代碼會存在哪些問題
<<<壓縮靜態(tài)資源減少帶寬傳輸?shù)姆绞?/a>
<<<動靜分離架構(gòu)模式
<<<緩存策略匯總
<<<后端服務(wù)的雪崩效應(yīng)及解決思路
<<<服務(wù)的隔離撩幽、降級和熔斷
<<<服務(wù)限流之計數(shù)器方式
<<<服務(wù)限流之滑動窗口計數(shù)
<<<服務(wù)限流之令牌桶算法
<<<服務(wù)限流之漏桶算法
<<<漏桶算法和令牌桶算法的區(qū)別
<<<自定義封裝限流算法
<<<應(yīng)用級限流