硬件負載均衡和軟件負載均衡

LB 簡單比較 – F5、NetScaler、LVS、Nginx、Haproxy

負載均衡技術是構建大型網站必不可少的架構策略之一。它的目的是,把用戶的請求分發到多臺後端的設備上,用以均衡服務器的負載。我們可以把負載均衡器劃分爲兩大類:硬件負載均衡器和軟件負載均衡器。

硬件負載均衡器,常見的有NetScaler、F5、Radware和Array等,這些設備爲專業的廠商開發的負載均衡器,價格比較高昂,但也提 供了高 可用性和高穩定性,同時還提供專業的技術服務,這些設備往往都是一些大企業(非IT類)所熱衷的。因爲這些企業不缺乏資金,也沒有專業的it團隊來開發和 運維類似的負載均衡套件。

軟件負載均衡器,較流行的有LVS,haproxy,nginx。這三種軟件負載均衡器都爲開源軟件,任何個人或企業都可以無償使用,所以對於一些 小企業 或者比較專業的大型IT或者互聯網企業來說,使用這些軟件負載均衡器成爲了一種必然趨勢。下面簡單分析一些這三種開源負載均衡器的特點:

LVS特點是:
1. 首先它是基於4層的網絡協議的,抗負載能力強,對於服務器的硬件要求除了網卡外,其他沒有太多要求;
2. 配置性比較低,這是一個缺點也是一個優點,因爲沒有可太多配置的東西,大大減少了人爲出錯的機率;
3. 應用範圍比較廣,不僅僅對web服務做負載均衡,還可以對其他應用(mysql)做負載均衡;
4. LVS架構中存在一個虛擬IP的概念,需要向IDC多申請一個IP來做虛擬IP。

Nginx負載均衡器的特點是:
1. 工作在網絡的7層之上,可以針對http應用做一些分流的策略,比如針對域名、目錄結構;
2. Nginx安裝和配置比較簡單,測試起來比較方便;
3. 也可以承擔高的負載壓力且穩定,一般能支撐超過上萬次的併發;
4. Nginx可以通過端口檢測到服務器內部的故障,比如根據服務器處理網頁返回的狀態碼、超時等等,並且會把返回錯誤的請求重新提交到另一個節點,不過其中缺點就是不支持url來檢測;
5. Nginx對請求的異步處理可以幫助節點服務器減輕負載;
6. Nginx能支持http和Email,這樣就在適用範圍上面小很多;
7. 默認有三種調度算法: 輪詢、weight以及ip_hash(可以解決會話保持的問題),還可以支持第三方的fair和url_hash等調度算法;

HAProxy的特點是:
1. HAProxy是工作在網絡7層之上;
2. 支持Session的保持,Cookie的引導等;
3. 支持url檢測後端的服務器出問題的檢測會有很好的幫助;
4. 支持的負載均衡算法:動態加權輪循(Dynamic Round Robin),加權源地址哈希(Weighted Source Hash),加權URL哈希和加權參數哈希(Weighted Parameter Hash);
5. 單純從效率上來講HAProxy更會比Nginx有更出色的負載均衡速度;
6. HAProxy可以對Mysql進行負載均衡,對後端的DB節點進行檢測和負載均衡。


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章