10 Nginx負載均衡

2021-10-23 01:28:22 字數 1148 閱讀 3584

##請求分發詳解

配置負載均衡伺服器集群

upstream backend
對特定請求進行分發

server 

}

nginx負載均衡在分發請求的時候,缺省會採用輪詢的方式。即:

請求順序

請求分發

第一次訪問:

x.x.x.x:1023

第二次訪問:

x.x.x.x:1024

第三次訪問:

x.x.x.x:1025

假如nginx本來要將請求分發到 x.x.x.x:1024 這台伺服器的,結果這台伺服器掛掉了,那麼nginx就會將此次請求再分發到x.x.x.x:1025,避免影響到使用者訪問。

nginx負載均衡判斷後端伺服器掛了的依據:

如果我們想要測試某個伺服器down掉,負載均衡會怎樣處理,可以登入到特定的後端伺服器,執行如下命令,假裝該伺服器已經down掉:

iptables -a input -p tcp --dport 1024 -j drop
upstream backend
方式

說明輪詢

按時間順序逐一分配

加權輪詢

權重值越大,被分配到的次數就越多

ip_hash

請求按訪問ip的hash結果來分配,同乙個ip固定的訪問某台後端伺服器

least_conn

哪台伺服器連線數少,就分發給哪台伺服器

url_hash

按照訪問url的hash結果來分配,同一url固定的訪問某台後端伺服器

hash關鍵數值

hash自定義的key

經過實際測試,ip_hash並不能完全保持cookies的連續性,最好還是將cookies存放在redis等記憶體型資料庫中

upstream heartide
可以通過如下方法,定位負載均衡到底將請求分配給了哪台伺服器,這有助於我們針對後端集群中特定的某台伺服器進行除錯。

add_header backend-server $upstream_addr;

物聯網架構成長之路 10 Nginx負載均衡

0.前言 關於nginx負載均衡的簡單配置,我以前部落格配置過基於http的負載均衡。這次的負載均衡有點不一樣,就是基於tcp的負載均衡。基於http負載均衡是預設的nginx版本支援的,配置也很簡單,但是基於tcp的負載均衡,配置起來就有一點點麻煩了。由於我們要用到四層tcp層負載均衡,所以要自己...

nginx 負載均衡 Nginx負載均衡策略

nginx提供的負載均衡策略有2種 內建策略和擴充套件策略。內建策略為輪詢 預設 加權輪詢,ip hash,第三方。upstream mysvr1 輪詢 每個請求按照時間順序逐一的分配到每乙個後台伺服器上。如果某台伺服器宕機了,將會自動的剔除宕機的服務。nginx預設就是輪詢其權重都預設為1,伺服器...

nginx負載均衡

nginx 的 upstream目前支援 4 種方式的分配 1 輪詢 預設 每個請求按時間順序逐一分配到不同的後端伺服器,如果後端伺服器down掉,能自動剔除。2 weight 指定輪詢機率,weight和訪問比率成正比,用於後端伺服器效能不均的情況。3 ip hash 每個請求按訪問ip的hash...