1. 程式人生 > >nginx負載均衡的主要方法

nginx負載均衡的主要方法

先說說什麼是負載均衡:

        負載均衡指的就是將負載分發到多個操作單元上執行,從而提高服務的可用性和響應速度,帶給使用者更好的體驗

下圖展示了負載均衡的工作原理:

負載均衡主要有四種方式:

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值來分配請求。

模組有很多這裡就不一 一列舉了。。。