Nginx幾種負載均衡方式介紹
前言
負載均衡就是Nginx將請求分攤到不同的服務器中,保證服務的可用性,緩解服務壓力,保證服務的回應速度,即使某一個應用服務不可用,也可以保證業務的正常進行,并且方便對服務器進行擴容縮容,負載均衡軟體有很多,例如LVS、HAProxy等,今天我們僅講解Nginx負載均衡常見的幾種策略,

負載均衡策略
輪詢(Nginx自帶、默認)
該策略是Nginx默認的負載均衡策略,每一個客戶端請求按時間順序輪流分配到不同的服務器上,如果后端服務不可以用,會自動過濾掉,
upstream my_test_server {
server 192.168.0.100:8080;
server 192.168.0.101:8080;
}
weight 權重(Nginx自帶)
weight代表權重的意思,用于指定輪詢的幾率,默認權重都是1,可以手動設定調整,權重越高,被分配的次數越多,weight權重和訪問比例是成正比的,用于解決后端服務器性能不均衡時,調整訪問比例,
upstream my_test_server {
server 192.168.0.100:8080 weight=1;
server 192.168.0.101:8080 weight=2;
server 192.168.0.102:8080 weight=3;
}
ip_hash(Nginx自帶)
ip_hash是將每個請求按照訪問ip的hash結果進行分配,這種方式可以保證同一個用戶會固定訪問一個后端服務器,優點:可以保證session會話,解決服務器之間session不能共享的問題,
upstream my_test_server {
ip_hash;
server 192.168.0.100:8080;
server 192.168.0.101:8080;
}
least_conn(Nginx自帶)
將請求轉發給連接數較少的后端服務器,每個后端服務器配置可能不同,處理的請求也有可能不同,對于處理的請求有快有慢,least_conn是根據后端服務器的連接情況,動態的選擇連接數量較少的一臺服務器來處理當前的請求,
upstream my_test_server {
least_conn;
server 192.168.0.100:8080;
server 192.168.0.101:8080;
}
fair(第三方)
fair是按照服務器端的回應時間來分配請求,回應時間短的服務器優先分配,第三方的負載均衡策略需要安裝第三方的插件,
upstream my_test_server {
fair;
server 192.168.0.100:8080;
server 192.168.0.101:8080;
}
url_hash(第三方)
url_hash是根據url的hash結果進行分配請求,每一個url會固定到同一個服務器上,配合快取使用,可以減少不必要的下載和資源時間的浪費,每次同一個url請求到達同一個服務器上,第一次加載后放入快取,后面再次請求,直接取快取資源,如果不采用url_hash,可能會導致請求到達不同的服務器,資源出現重新加載的情況,第三方的負載均衡策略需要安裝第三方的插件,
upstream my_test_server {
hash $request_uri;
server 192.168.0.100:8080;
server 192.168.0.101:8080;
}
配置
在conf檔案中配置上述負載均衡配置后,需要在server塊中進行配置使用,
upstream my_test_server {
ip_hash;
server 192.168.0.100:8080;
server 192.168.0.101:8080;
}
server {
listen 80;
server_name localhost;
location / {
proxy_pass htttp://my_test_server;
proxy_set_header Host $proxy_host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
}
}
如有侵權請立即與我們聯系,我們將及時處理,聯系郵箱:[email protected],
原文鏈接:https://monkey.blog.xpyvip.top/archives/nginx-fu-zai-jun-heng
轉載請註明出處,本文鏈接:https://www.uj5u.com/caozuo/508033.html
標籤:Linux
