Nginx 負載均衡

2021-08-29 21:03:01 字數 2535 閱讀 2225

什麼是負載均衡

當使用者請求量增加至單台伺服器不能及時處理的時候

即(單台伺服器可接受能夠建立連線的併發請求超過上限時),

那麼就需要橫向擴容應用伺服器來多當前場景下的高併發請求做處理,

負載均衡正是將高併發請求分流至水平節點上不同應用伺服器的一種技術。

負載均衡要解決的問題
提公升服務的高可用性,容災,提公升應用伺服器對併發請求的處理能力。
基於lvs的中介軟體架構

gslb-全域性負載均衡

如下圖所示:

gslb-全域性負載均衡

適用場景:跨國機房應用服務部署

如北京張三訪問應用伺服器,則請求先到達本地的排程節點,

排程節點返回應用伺服器某服務的呼叫位址,

客戶端再去請求對應的應用伺服器。

指路

slb如下圖所示:

排程節點**客戶請求至真正的應用伺服器,

應用伺服器再將響應資料返回至排程節點,排程節點再將資料返回給客戶端。

從圖中可以看出排程節點與服務節點在統一區域內,這樣可以應對高併發請求的場景。

四層負載均衡和七層負載均衡

四層負載均衡

傳輸層負載均衡,tcp/ip層負載均衡,進行資料報**,效能更高
七層負載均衡

應用層負載均衡 http nginx採用的就是七層負載均衡
nginx 負載均衡

如下圖所示:

nginx 負載均衡

nginx 負載均衡採用了proxy_pass 方式將請求**至一組虛擬的服務池,upstream server ,使用者請求過來時,通過一定的負載策略,將請求分發至服務池中的某乙個應用伺服器中。
配置語法
語法:upstream name {}

預設:-

可配置上下文:http

注意配置到 server 層以外,且必須配置在http中

配置實戰

1.新建資料夾 分別儲存不同應用服務上的同名靜態檔案

2.mkdir code1 code2 code3

3.cd code1

4.touch index.html

5.vi index.html

page1

it is page1

同上在code2 code3 中同樣建立index.html 並且index.html中的內容 page1 更改為page2、page3 。

2.新建應用伺服器配置檔案

1.cd /etc/nginx/conf.d

2.touch server1.conf server2.conf server3.conf

3.vi server1.conf

server

}4.vi server2.conf

server

}5.vi server3.conf

server

}

3.配置upstream&**請求至虛擬服務池upstream 中

1.touch upstream_test.conf

2.vi upstream_test.conf

upstream testupstream

server

}

1.nginx -t -c /etc/nginx/conf.d

2.nginx -s reload

6.瀏覽器請求,驗證結果

可以觀察到,同樣的請求顯示的頁面內容是不一致的,所以負載均衡配置成功。

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

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

nginx負載均衡

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

nginx負載均衡

nginx s stop quick exit nginx s quit graceful quit nginx s reload changing configuration,starting a new worker,quitting an old worker gracefully nginx...