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;
}
複製程式碼
歡迎掃描下方二維碼,持續關注:
網際網路工程師(id:phpstcn),我們一起學習,一起進步