Nginx負載均衡模式

徐曙輝發表於2019-03-19

Nginx的幾種負載均衡模式

一、預設輪詢

把每個請求逐一分配到不同的server,如果分配到的server不可用,則分配到下一個,直到可用。

 upstream ng {
        server 127.0.0.1:83;
        server 127.0.0.1:82;
    }
server {
    listen       80;
    server_name  localhost;
    charset utf-8;
    root   /usr/share/nginx/html;
    index  index.html index.htm;
    location / {
       proxy_pass http://ng;
    }
}
複製程式碼

二、權重

weight預設值為1,值越大則代表被訪問的機率越大

 upstream ng {
        server 127.0.0.1:83 weight=1;
        server 127.0.0.1:82 weight=2;
    }
複製程式碼

三、ip_hash

採用ip_hash指令能解決一個問題,如果客戶已經訪問了某個伺服器,當使用者再次訪問時,會將該請求通過雜湊演算法,自動定位到該伺服器。 每個請求按訪問ip的hash結果分配,這樣每個訪客固定訪問一個後端伺服器,可以解決session的問題。否則,使用者在某臺伺服器上登入了,那麼該使用者第二次請求的時候,負載均衡系統中每次請求都會重新定位到伺服器叢集中的某一個,那麼已經登入某一個伺服器的使用者再重新定位到另一個伺服器,其登入資訊將會丟失。

upstream ng {
    ip_hash;
    server 127.0.0.1:83;
    server 127.0.0.1:82;
}
複製程式碼

四、least_conn

把請求分配到連線數最少的server

upstream test.cc {
    least_conn;
    server 192.168.8.143;
    server 192.168.8.144;
}
複製程式碼

歡迎掃描下方二維碼,持續關注:

Nginx負載均衡模式

網際網路工程師(id:phpstcn),我們一起學習,一起進步

相關文章