負載平衡軟件解決方案有LVS、HAProxy、Nginx等
以Nginx爲例負載均衡有以下幾種策略:
1.輪詢:Round Robin,根據Nginx配置文件中的順序,依次把客戶端的web請求分發到不同的後端服務器,如果後端服務器down掉,能自動剔除。
upstream backserver {
server 192.168.20.15;
server 192.168.20.16;
}
2.最少連接:當前誰連接最少,分發給誰
3.IP地址哈希:確定相同IP請求可以轉發給同一個後端節點處理,以方便session保持。
upstream backserver {
ip_hash;
server 192.168.20.15:88;
server 192.168.20.16:80;
}
4.基於權重的負載均衡:配置Nginx把請求更多地分發到高配置的後端服務上,把相對較少的請求分發到低配服務器。
weight和訪問比率成正比,用於後端服務器性能不均的情況。
upstream backserver {
server 192.168.20.15 weight=10;
server 192.168.20.16 weight=10;
}
其他負載均衡方法
1.優先權(Priority):給所有服務器分組,給每個組定義優先權,將用戶的請求分配給優先級最高的服務器組(在同一組內,採用預先設定的輪詢或比率算法,分配用戶的請求);當最高優先級中所有服務器或者指定數量的服務器出現故障,AX將把請求送給次優先級的服務器組。這種方式,實際爲用戶提供一種熱備份的方式。
2.最快響應時間(Fast Reponse time):新的連接傳遞給那些響應最快的服務器。當其中某個服務器發生故障,AX就把其從服務器隊列中拿出,不參加下一次的用戶請求的分配,直到其恢復正常。
負載均衡設備一般需要默認配置一些會話保持的選項,例如源地址的會話保持,Cookie會話保持等,根據不同的應用配置不同的會話保持,配置不當會導致負載不均衡甚至訪問不了的情況。