核心就在於upstream模組的配置。
upstream tomcatserver1
upstream tomcatserver2
server
}server
}nginx的upstream目前支援的5種方式的分配
1、輪詢(預設)
預設配置就是輪詢策略。每個請求按時間順序逐一分配到不同的後端伺服器,如果後端伺服器down掉,能自動剔除。 此策略適合伺服器配置相當,無狀態且短平快的服務使用。
upstream backserver
2、指定權重
指定輪詢機率,weight和訪問比率成正比,用於後端伺服器效能不均、硬體配置差異比較大的情況。此策略可以與和
ip_hash
結合使用
upstream backserver
3、ip_hash
指定負載均衡器按照基於客戶端
ip的分配方式,這個方法確保了相同的客戶端的請求一直傳送到相同的伺服器,以保證
session
會話。這樣每個訪客都固定訪問乙個後端伺服器,可以解決session不能跨伺服器的問題。此策略適合有狀態服務,比如
session
,當有伺服器需要剔除,必須手動
down
掉。ip_hash
不能與backup
同時使用,在
nginx
版本1.3.1
之前,不能在
ip_hash
中使用權重(
weight
)。upstream backserver
4、fair(第三方)
按後端伺服器的響應時間來分配請求,響應時間短的優先分配。這種策略具有很強的自適應性,但是實際的網路環境往往不是那麼簡單,因此須慎用
upstream backserver
5、url_hash(第三方)
按訪問url
的hash
結果來分配請求,使每個
urlurl_hash
,可以使得同乙個
url(也就是同乙個資源請求)會到達同一臺伺服器,一旦快取住了資源,再此收到請求,就可以從快取中讀取。不能在
url_hash
中使用權重(
weight
)。 upstream backserver
而在每乙個server還可以有額外的配置:
1.down:表示單前的server暫時不參與負載
2.weight:預設為1.weight越大,負載的權重就越大。
3.max_fails:允許請求失敗的次數預設為1.當超過最大次數時,返回proxy_next_upstream模組定義的錯誤
4.fail_timeout:max_fails次失敗後,暫停的時間。
5.backup:其它所有的非backup機器down或者忙的時候,請求backup機器。所以這台機器壓力會最輕。
允許乙個server同時新增多個配置,例如:
upstream server_frontend
upstream tomcatserver1
重啟nginx,在瀏覽器分別輸入8080.evan.com和8081.evan.com,即可看到
訪問8080.evan.com,發現test in 8080出現兩次,隨後出現test in 8081,以此迴圈
訪問8081.evan.com,則一直是test in 8081
nginx 負載均衡 Nginx負載均衡策略
nginx提供的負載均衡策略有2種 內建策略和擴充套件策略。內建策略為輪詢 預設 加權輪詢,ip hash,第三方。upstream mysvr1 輪詢 每個請求按照時間順序逐一的分配到每乙個後台伺服器上。如果某台伺服器宕機了,將會自動的剔除宕機的服務。nginx預設就是輪詢其權重都預設為1,伺服器...
nginx負載均衡
nginx 的 upstream目前支援 4 種方式的分配 1 輪詢 預設 每個請求按時間順序逐一分配到不同的後端伺服器,如果後端伺服器down掉,能自動剔除。2 weight 指定輪詢機率,weight和訪問比率成正比,用於後端伺服器效能不均的情況。3 ip hash 每個請求按訪問ip的hash...
nginx負載均衡
nginx s stop quick exit nginx s quit graceful quit nginx s reload changing configuration,starting a new worker,quitting an old worker gracefully nginx...