nginx負載均衡的主要方法
阿新 • • 發佈:2018-11-11
先說說什麼是負載均衡:
負載均衡指的就是將負載分發到多個操作單元上執行,從而提高服務的可用性和響應速度,帶給使用者更好的體驗。
下圖展示了負載均衡的工作原理:
負載均衡主要有四種方式:
1、輪詢方式
負載均衡地預設處理方式,每個請求按照時間順序逐一分配到不同的後臺伺服器進行處理。
實現方式:
server { listen 80; server_name localhost; #charset koi8-r; #access_log logs/host.access.log main; location / { proxy_pass http://web_server; } } upstream web_server{ server 192.168.92.130; server 192.168.92.131; }
2、權重方式
利用weight指定輪詢的權重比率,與訪問率成正比,用於後端伺服器效能不均的情況。
實現方式:
server { listen 80; server_name localhost; #charset koi8-r; #access_log logs/host.access.log main; location / { proxy_pass http://web_server; } } upstream web_server{ server 192.168.92.130 weight=1; server 192.168.92.131 weight=3; }
3、ip_hash方式
每個請求按訪問ip的hash結構分配,這樣可以使每個方可固定的訪問一個後端伺服器,可以解決Session共享問題。
實現方法:
server { listen 80; server_name localhost; #charset koi8-r; #access_log logs/host.access.log main; location / { proxy_pass http://web_server; } } upstream web_server{ ip_hash; server 192.168.92.130; server 192.168.92.131; }
4、第三方模組
第三方模組採用fair時,按照每臺伺服器的響應時間來分配請求,響應時間短的優先分配;第三方模組採用url_hash時,按照訪問url的hash值來分配請求。
模組有很多這裡就不一 一列舉了。。。