nginx upstream的4中負載均衡分配策略:
1 輪循(預設)
2 權重 weight
3 ip_hash ip繫結
4 fair(第三方)
5 url_hash(第三方)
什麼是負載均衡:
當一台伺服器單位時間的訪問量越大時,伺服器壓力就會越來越大,達到超過自身承受能力的時候,伺服器會崩潰。為了避免崩潰,需要負載均衡的方式來分擔伺服器壓力。
可以建立很多伺服器,組成乙個伺服器集群,當使用者訪問**,先訪問乙個中間伺服器,再讓這個中間伺服器在伺服器集群中選擇乙個壓力較小的伺服器,然後將改訪問請求引入該伺服器
1輪循(預設)
upstream backserver
2權重(weight)
upstream backserver
權重越高,再被訪問的概率越大 比例為3,7
3ip_hash繫結
上述方式存在乙個問題就是說,在負載均衡系統中,假如使用者在某台伺服器上登入了,那麼該使用者第二次請求的時候,因為我們是負載均衡系統,每次請求都會重新定位到伺服器集群中的某乙個,那麼已經登入某乙個伺服器的使用者再重新定位到另乙個伺服器,其登入資訊將會丟失,這樣顯然是不妥的。
我們可以採用ip_hash指令解決這個問題,如果客戶已經訪問了某個伺服器,當使用者再次訪問時,會將該請求通過雜湊演算法,自動定位到該伺服器。
每個請求按訪問ip的hash結果分配,這樣每個訪客固定訪問乙個後端伺服器,可以解決session的問題。
upstream backserver
4 fair
按照後端伺服器的響應時間來分配請求,響應時間短的優先分配
upstream backserver
5 url_hash
按照訪問url的hash結果來分配請求,使每個url定向到同乙個後端伺服器,後端伺服器為快取時比較有效。
upstream backserver
每個裝置的狀態設定為:
1.down 表示單前的server暫時不參與負載
2.weight 預設為1.weight越大,負載的權重就越大。
3.max_fails:允許請求失敗的次數預設為1.當超過最大次數時,返回proxy_next_upstream模組定義的錯誤
4.fail_timeout:max_fails次失敗後,暫停的時間。
5.backup: 其它所有的非backup機器down或者忙的時候,請求backup機器。所以這台機器壓力會最輕。
ip_hash 配置 案例:
nginx 負載均衡 Nginx負載均衡策略
nginx提供的負載均衡策略有2種 內建策略和擴充套件策略。內建策略為輪詢 預設 加權輪詢,ip hash,第三方。upstream mysvr1 輪詢 每個請求按照時間順序逐一的分配到每乙個後台伺服器上。如果某台伺服器宕機了,將會自動的剔除宕機的服務。nginx預設就是輪詢其權重都預設為1,伺服器...
nginx學習(1) 負載均衡策略
nginx的負載均衡可以分為兩大類內建策略 擴充套件策略 內建策略缺省會被編譯進核心,使用時只需要在nginx配置中配置相關引數集合。內戰策略包括 輪詢加權輪詢 ip hash 擴充套件策略不會編譯進核心,需要手動將第三方模組編譯進nginx核心。擴充套件策略主要通過第三方模組實現,種模擬較豐富,常...
Nginx負載均衡策略
目前nginx負載均衡支援的5種方式的分配 輪詢每個請求按時間順序逐一分配到不同的後端伺服器,如果後端伺服器down掉,能自動剔除.1 2 3 4 upstream backserver weight 指定輪詢機率,weight和訪問比率成正比,用於後端伺服器效能不均的情況.1 2 3 4 upst...