市面上的負載均衡軟件有很多,在網站建設初期,可以選用Nigix/HAproxy作為反向代理負載均衡,常用的負載均衡軟件有:1、LVS軟件,工作在網絡四層,通過vrrp協議轉發;2、Nginx軟件,工作在網絡七層,它屬于反向代理服務器,并且能夠支持虛擬主機;3、HAProxy,支持TCP和HTTP兩種代理模式,它是一個反向代理服務器,支持虛擬主機。
具體內容如下:
市面上的負載均衡軟件有很多,不同時期可能需要的方案也不一樣。比如網站建設初期,可以選用Nigix/HAproxy作為反向代理負載均衡(或者流量不大都可以不選用負載均衡),因為其配置簡單,性能也能滿足一般的業務場景。
如果考慮到負載均衡器是有單點問題,可以采用 Nginx+Keepalived/HAproxy+Keepalived 避免負載均衡器自身的單點問題。
網站并發達到一定程度之后,為了提高穩定性和轉發效率,可以使用LVS,畢竟 LVS比 Nginx/HAproxy 要更穩定,轉發效率也更高。不過,維護LVS對維護人員的要求也會更高,投入成本也更大。
LVS軟件特點:
1、抗負載能力強。抗負載能力強、性能高,能達到F5硬件的60%;對內存和cpu資源消耗比較低。
2、工作在網絡4層,通過vrrp協議轉發(僅作分發之用),具體的流量由linux內核處理,因此沒有流量的產生。
3、穩定性、可靠性好,自身有完美的熱備方案(如:LVS+Keepalived)配置復雜,對網絡依賴比較大,穩定性很高。
4、應用范圍比較廣,可以對所有應用做負載均衡;不支持正則處理,不能做動靜分離。
Ngnix軟件特點:
1、工作在網絡的7層之上,可以針對http應用做一些分流的策略,比如針對域名、目錄結構;
2、Nginx對網絡的依賴比較小,理論上能ping通就就能進行負載功能;
3、Nginx安裝和配置比較簡單,測試起來方便;可以承擔高的負載壓力且穩定,一般能支撐超過1萬次的并發;
4、Nginx對請求的異步處理可以幫助節點服務器減輕負載;僅能支持http、https和Email協議,這樣就在適用范圍較小。
5、對后端服務器的健康檢查,只支持通過端口來檢測,不支持通過url來檢測。
6、支持負載均衡算法:Round-robin(輪循)、Weight-round-robin(帶權輪循)、Ip-hash(Ip哈希)。
HAProxy的特點是:
1、支持兩種代理模式:TCP(四層)和HTTP(七層),支持虛擬主機;
2、能夠補充Nginx的一些缺點,比如Session的保持,Cookie的引導等工作。支持url檢測后端的服務器會有很好的幫助。
3、HAProxy可以對Mysql進行負載均衡,對后端的DB節點進行檢測和負載均衡。
4、更多的負載均衡策略,比如:動態加權輪循,加權源地址哈希,加權URL哈希和加權參數哈希已經實現。
5、支持負載均衡算法:Round-robin(輪循)、Weight-round-robin(帶權輪循)、source(原地址保持)、RI(請求URL)、rdp-cookie(根據cookie)。