三種負載均衡器的對比

什麼是負載均衡

  負載均衡(Load Balance)建立在現有網絡結構之上,提供了一種廉價有效且透明的方法擴展網絡設備和服務器的帶寬、增加吞吐量、加強網絡數據處理能力、提高網絡的靈活性和可用性。負載均衡有兩方面的含義:首先,大量的併發訪問或數據流量分擔到多臺節點設備上做並行處理,減少用戶等待響應的時間;其次,單個重負載的運算分擔到多臺節點設備上做並行處理,每個節點設備處理結束後,將結果彙總,返回給用戶,系統處理能力得到大幅度提高。
簡單講就是:

  1. 將大量的併發處理轉發給後端多個節點處理,減少工作響應時間;
  2. 將單個繁重的工作轉發給後端多個節點處理,處理完再返回給負載均衡中心,在返回給用戶。

負載均衡的優點

  1. 可以在對用戶無感知的情況下,做Web服務器的動態水平擴展
  2. 解決單機故障,增加業務併發訪問及處理能力
  3. 降低公網IP地址,節省IP支出成本
  4. 配置簡單,有固定格式的配置文件
  5. 功能豐富,支持四層和七層負載,對四層性能更好,支持動態下線主機
  6. 隱藏內部服務器IP,提高內部服務器的安全性
  7. 性能強,併發數可達數萬至數十萬

四層負載均衡

  基於IP+端口的負載均衡:從傳輸層開始是,使用“ip + port”接受請求,在轉發到對應的服務器。

七層負載均衡

  基於虛擬的URL或主機IP的負載均衡:在四層負載均衡的基礎上,通過應用層協議實現負載均衡。

常見負載均衡的軟硬件

四層負載均衡

  1. LVS
  2. HAProxy
  3. Nginx

七層負載均衡

  1. HAProxy
  2. Nginx

硬件負載均衡

  1. F5
  2. Netscaler

LVS、Nginx、HAProxy的區別

LVS

  1. 抗負載能力強。抗負載能力強、性能高,能達到F5硬件的60%;對內存和cpu資源消耗比較低
  2. 工作在網絡4層,通過vrrp協議轉發(僅作分發之用),具體的流量由linux內核處理,因此沒有流量的產生。
  3. 穩定性、可靠性好,自身有完美的熱備方案;(如:LVS+Keepalived)
  4. 應用範圍比較廣,可以對所有應用做負載均衡;
  5. 不支持正則處理,不能做動靜分離。
  6. 支持負載均衡算法:rr(輪循)、wrr(帶權輪循)、lc(最小連接)、wlc(權重最小連接)
  7. 配置 複雜,對網絡依賴比較大,穩定性很高。

Ngnix:

  1. 工作在網絡的7層之上,可以針對http應用做一些分流的策略,比如針對域名、目錄結構;
  2. Nginx對網絡的依賴比較小,理論上能ping通就就能進行負載功能;
  3. Nginx安裝和配置比較簡單,測試起來比較方便;
  4. 也可以承擔高的負載壓力且穩定,一般能支撐超過1萬次的併發;
  5. 對後端服務器的健康檢查,只支持通過端口來檢測,不支持通過url來檢測。
  6. Nginx對請求的異步處理可以幫助節點服務器減輕負載;
  7. Nginx僅能支持http、https和Email協議,這樣就在適用範圍較小。
  8. 不支持Session的直接保持,但能通過ip_hash來解決。
  9. 支持負載均衡算法:Round-robin(輪循)、Weight-round-robin(加權輪循)、Ip-hash(Ip哈希)
  10. Nginx還能做Web服務器即Cache功能。

HAProxy的特點是:

  1. TCP(四層)和HTTP(七層)做反向代理,支持虛擬主機
  2. 可平衡負載至後端服務器,並支持持久連接
  3. 支持基於cookie進行調度
  4. 支持所有主服務器故障切換至備用服務器
  5. 支持專用端口實現監控服務
  6. 支持不影響現有連接情況下停止接受新連接請求
  7. 可以在雙向添加,修改或刪除HTTP報文首部
  8. 支持基於pattern實現連接請求的訪問控制
  9. 通過特定的URI爲授權用戶提供詳細的狀態信息
  10. 可以針對HTTP請求添加cookie,進行路由後端服務器

三大主流軟件負載均衡器適用業務場景:

  1. 網站建設初期,可以選用Nigix/HAproxy作爲反向代理負載均衡(或者流量不大都可以不選用負載均衡),因爲其配置簡單,性能也能滿足一般的業務場景。如果考慮到負載均衡器是有單點問題,可以採用Nginx+Keepalived/HAproxy+Keepalived避免負載均衡器自身的單點問題。
  2. 網站並發達到一定程度之後,爲了提高穩定性和轉發效率,可以使用LVS、畢竟LVS比Nginx/HAproxy要更穩定,轉發效率也更高。不過維護LVS對維護人員的要求也會更高,投入成本也更大。
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章