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...