在現實中通常乙個應用要部署到多個節點,從而減輕伺服器壓力。同時保證部分系統因部分伺服器宕機的情況下還能繼續執行,接下來我們將配置ngnix實現乙個網域名稱對應多台伺服器。
一、nginx負載均衡策略
輪詢(預設)
最基本的配置方法,它是upstream的預設策略,每個請求會按時間順序逐一分配到不同的後端伺服器。
在http配置下增加upstream配置即可:
upstream nodes
引數
描述down
表示當前標記伺服器永久停機了,不參與負載均衡 。
fail_timeout
max_fails次失敗後,暫停請求此台伺服器。
max_fails
預設是1,設定在fail_timeout引數設定的時間內最大失敗次數,如果在這個時間內,所有針對該伺服器的請求都失敗了,那麼認為該伺服器會被認為是停機了
fail_time
伺服器會被認為停機的時間長度,預設為10s。
backup
標記該伺服器為備用伺服器。當主伺服器停止時,請求會被傳送到它這裡。
weight
預設是1,weight越大,負載的權重就越大
注意:
權重配置
weight和請求數量成正比,主要用於上游伺服器配置不均衡的情況。下面的配置中,ip1機器的請求量是ip2機器請求量的2倍。
upstream nodes
注意:
ip_hash配置
每乙個請求按照請求的ip的hash結果分配。這樣同乙個ip請求固定落在乙個上游伺服器,能夠解決ip會話在同一臺伺服器的問題。
upstream nodes
注意:
least_conn 最小連線
把請求**給連線數較少的後端伺服器。輪詢演算法是把請求平均的**給各個後端,使它們的負載大致相同;但是,有些請求占用的時間很長,會導致其所在的後端負載較高。這種情況下,least_conn這種方式就可以達到更好的負載均衡效果;
upstream nodes
注意:
fair配置
按上游伺服器的響應時間來分配請求。響應時間短的優先分配。
upstream nodes
url_hash配置
按照訪問的url的hash結果來分配請求,使每乙個url定向到同乙個上游伺服器。注意:在upstream中加入hash語句。server語句中不能寫入weight等其他的引數,hash_method是使用的hash演算法。
upstream nodes
ngnix 負載均衡
反向 客戶端請求過來後,代替客戶端去後端服務請求,把後端返回內容反饋給客戶端 負載均衡 客戶端的請求,再把後端服務返回 到客戶端 upstream 配置 1 熱備 有2臺伺服器,當一台伺服器發生事故時,才啟用第二台伺服器給提供服務。伺服器處理請求的一直是a,如果a 故障那麼請求就轉向b upstre...
Ngnix負載均衡安裝及配置
nginx是一款高效能的http 伺服器 反向 伺服器及電子郵件 imap pop3 伺服器。由俄羅斯的程式設計師igor sysoev所開發,官方測試nginx能夠支支撐5萬併發鏈結,並且cpu 記憶體等資源消耗卻非常低,執行非常穩定。http伺服器。nginx是乙個http服務可以獨立提供htt...
Ngnix 負載均衡策略
提供 5種負載均衡策略 l輪詢 每個請求按時間順序輪流分配到不同的後端伺服器,如果後端伺服器 down 掉,能自動剔除。l權重 指定輪詢機率,weight 和訪問比率成正比,用於後端伺服器效能不均的情況。lip hash 每個請求按訪問ip的 hash 結果分配,這樣每個訪客固定訪問乙個後端伺服器,...