nginx負載均衡的策略

2022-02-10 22:20:57 字數 1440 閱讀 2824

1、輪詢(預設) 應用程式輪流來響應請求

2、最少連線(least-conn)    請求被分配到活動連線最少的伺服器上

3、ip-hash    通過乙個hash函式決定哪個伺服器來響應使用者的請求(依據客戶端的請求ip)

4、權重配置(weight)

5、手動宕機與備份主機(down,backup)

6、fair(第三方) 響應時間方式

7、url_hash(第三方) 依據url分配方式

注意:backup不能和ip_hash一起使用

a.要配置https的負載均衡只需要將http協議改https就可以了,其他位置不變;

b.要實現fastcgi, uwsgi, scgi, memcached的負載均衡可以分別使用 fastcgi_pass, uwsgi_pass,

scgi_pass, and memcached_pass指令;

2、在「請求需要更長的時間來完成」的場景下採用「最少連線」方式可以更公平的將負載分配到多個機器上面。使用「最少連線」後,nginx不會將請求分發到繁忙的機器上面,而且將請求分發的較清閒的機器上面。

「最少連線」的配置:在upstream{}中新增least-conn;

3、「輪詢」和「最少連線」這兩種負載均衡方式會將新的請求分發到不同的機器上,很難保證每個客戶端會固定訪問某乙個伺服器。如果需要某個客戶端只訪問訪問固定的乙個伺服器可以通過ip-hash負載均衡方式實現。

ip-hash實現原理: 使用ip-hash時,客戶端的ip作為乙個雜湊的key來決定伺服器組中哪個伺服器來響應請求,這種方式可以保證每個客戶端每次訪問的都是同乙個伺服器。

"ip-hash"的配置:在upstream{}中新增ip_hash;

4、伺服器權重值越大,nginx將把更多的請求傳送給該伺服器。

"權重"的配置:在upstream{}中新增weight;

5、配置手動的宕機、備份主機

down:表示該主機不參與服務;

backup:表示該主機正常訪問中不使用,如果所有的主機效能都不夠的時候自動啟動該配置項;

「手動宕機、備份主機」的配置:在upstream{}中新增down、backup;

6、按照伺服器端的響應時間來分配請求,響應時間短的優先分配。

伺服器的健康檢查:max_fails 與 fail_timeout

如果某個請求被分配到了乙個伺服器上,伺服器無法響應,那麼nginx會標記它失敗了,在短時間內,nginx是不會將之後的請求分配給標記失敗的伺服器。

max_fails指令可以設定最大失敗次數,預設是1。

fail_timeout指定響應時間超過多少秒就將伺服器標記為失敗。

nginx 負載均衡 Nginx負載均衡策略

nginx提供的負載均衡策略有2種 內建策略和擴充套件策略。內建策略為輪詢 預設 加權輪詢,ip hash,第三方。upstream mysvr1 輪詢 每個請求按照時間順序逐一的分配到每乙個後台伺服器上。如果某台伺服器宕機了,將會自動的剔除宕機的服務。nginx預設就是輪詢其權重都預設為1,伺服器...

Nginx負載均衡策略

目前nginx負載均衡支援的5種方式的分配 輪詢每個請求按時間順序逐一分配到不同的後端伺服器,如果後端伺服器down掉,能自動剔除.1 2 3 4 upstream backserver weight 指定輪詢機率,weight和訪問比率成正比,用於後端伺服器效能不均的情況.1 2 3 4 upst...

NGinx負載均衡策略

原文 nginx的upstream目前支援的5種方式的分配 1 輪詢 預設 每個請求按時間順序逐一分配到不同的後端伺服器,如果後端伺服器down掉,能自動剔除。upstream backserver2 weight 指定輪詢機率,weight和訪問比率成正比,用於後端伺服器效能不均的情況。upstr...