高併發下一些常用的限流和防刷方法

2021-08-19 06:19:54 字數 697 閱讀 5117

限流與防刷

網際網路專案與傳統專案不同的網際網路專案是暴露在網際網路中,面向的是全體網民,這時候可能出現以下兩種訪問形式需要我們採取一些必要措施對我們的服務進行保護。

1、大量正常使用者高頻訪問導致伺服器宕機

2、惡意使用者高頻訪問導致伺服器宕機

3、網頁爬蟲

對於這些情況我們需要對使用者的訪問進行限流訪問,我們可以依次對nginx、tomcat、介面進行限流。

nginx是粒度最大的一層,這層的頻度設定我們需要謹慎操作,這裡將影響我們整個**訪問,nginx層的頻度設定應該在我們應用伺服器宕機閥值之下,下面我們看下具體怎麼設定

nginx限流設定

對ip/網域名稱限流

limit_conn_zone $binary_remote_addr zone=perip :10m; # 儲存ip的快取為10m;16000個ip位址的狀態資訊約1mb

limit_conn_zone $server_name zone=perserver:10m;

...server {

limit_conn perserver 100;# 此網域名稱下最多有100個連線

limit_conn perip 10;# 乙個ip最多有10個連線

一些高併發下web伺服器http異常狀態碼分析

環境說明 壓測工具 apache ab web伺服器 nginx 1.8.0 php 5.6.25 php指令碼 get.php 注 nignx 設定超時 fastcgi connect timeout 60 fastcgi send timeout 60 fastcgi read timeout ...

高併發的一些處理方法

最近一段時間一直在看一些高併發處理策略的文章,在此也稍微總結一下自己的心得 一.高併發 可以這麼理解高併發,在同一時間,有大量使用者同時訪問同乙個url,容易導致伺服器和資料庫資源被佔滿崩潰,資料庫的儲存和更新結果跟理想不一致,例如出現重複的資料記錄,多次新增記錄等資料錯亂問題。二.高併發的處理策略...

關於高併發的一些思考

1.什麼是高併發?高併發是解決大資料量業務的一種思路,源於現實的生產生活中的問題。舉乙個現實生活中的例子 去銀行辦業務,銀行裡段時間來了100個人辦理業務,但是只有乙個視窗來辦理,平均乙個人辦完業務需要5分鐘,100個人需要500分鐘。當出現類似問題的時候,我們應該怎樣去解決呢?1 提高單個視窗辦理...