LVS、HAProxy、Nginx是目前使用最廣泛的三種負載均衡軟件。
LVS
Lvs 是Linux Virtual Server的簡稱,即Linux虛擬服務器,是負載均衡的一種調度器,現在也已經是linux內核標準的一部分。可見其重要度。(是我們中國人自己研發的開源軟件!)
LVS優點:
1、抗負載能力強:工作在網絡4層之上,僅作分發之用,沒有流量的產生,這個特點也決定了它在負載均衡軟件里的性能最強的,對內存和cpu資源消耗比較低。
2、配置性比較低:這是一個缺點也是一個優點,因為沒有太多可配置的東西,所以並不需要太多接觸,大大減少了人為出錯的幾率。
3、工作穩定:因為其本身抗負載能力很強,自身有完整的雙機熱備方案,如LVS+Keepalived,不過我們在項目實施中用得最多的還是LVS/DR+Keepalived。
4、無流量:LVS只分發請求,而流量並不從它本身出去,這點保證了均衡器IO的性能不會受到大流量的影響。
5、應用範圍比較廣:因為LVS工作在4層,所以它幾乎可以對所有應用做負載均衡,包括http、數據庫、在線聊天室等等。
LVS的缺點:
1、軟件本身不支持正則表達式處理,不能做動靜分離;而現在許多網站在這方面都有較強的需求,這個是Nginx/HAProxy+Keepalived的優勢所在。
2、如果是網站應用比較龐大的話,LVS/DR+Keepalived實施起來就比較複雜了,特別後面有Windows Server的機器的話,如果實施及配置還有維護過程就比較複雜了,相對而言,Nginx/HAProxy+Keepalived就簡單多了。
LVS工作模式:
LVS常用的工作模式有DR模式、TUN模式、以及NAT模式
LVS無論NAT及DR模式,均要求VS和RS在同一個網段內,NAT需要把VS當作各個RS的默認網關, DR模式採用修改mac地址直接從數據鏈路層轉發、要求必須在同一個物理網段內。
Nginx
Nginx是一款輕量級的Web服務器/反向代理服務器及電子郵件(IMAP/POP3)代理服務器,在BSD-like 協議下發行。其特點是佔有內存少,並發能力強。目前國內很多大廠網站都在使用Nginx,比如:百度、京東、新浪、網易、騰訊、淘寶等。
Nginx優點:
1、支持高並發:可以承擔高負載壓力且穩定,硬件不差的情況下一般能支撐幾萬次的並發量
2、內存消耗少
3、成本低廉
4、配置簡單:Nginx安裝與配置比較簡單,測試也比較方便,基本能把錯誤日誌打印出來。
5、內置健康檢查:Nginx可以通過端口檢測到服務器內部的故障,如根據服務器處理網頁返回的狀態碼、超時等,並會把返回錯誤的請求重新提交到另一個節點。
6、節省帶寬:Nginx對網絡穩定性的依賴非常小,理論上能ping通就能進行負載功能。
7、支持熱部署:Nginx支持熱部署,它的自動特別容易,並且,幾乎可以7天*24小時不間斷運行,
Nginx缺點:
1、適應範圍較小,僅能支持http、https、Email協議。
2、對後端服務器的健康檢查,只支持通過端口檢測,不支持url來檢測。
Nginx工作模式:
Nginx由內核和模塊組成。Nginx本身做的工作實際很少,當它接到一個HTTP請求時,它僅僅是通過查找配置文件將此次請求映射到一個location block.而此location中所配置的各個指令則會啟動不同的模塊去完成工作,因此模塊可以看做Nginx真正的勞動工作者。
通常一個location中的指令會涉及一個handler模塊和多個filter模塊(當然,多個location可以復用同一個模塊)。handler模塊負責處理請求,完成響應內容的生成,而filter模塊對響應內容進行處理。用戶根據自己的需要開發的模塊都屬於第三方模塊。正是有了這麼多模塊的支撐,Nginx的功能才會如此強大。
HAProxy
HAProxy提供高可用性、負載均衡,以及基於TCP(第四層)和HTTP(第七層)的應用程序代理。特別適用於那些負載特大的web站點,這些站點通常又需要會話保持或七層處理。
HAProxy優點:
1、支持虛擬主機,可以工作在4、7層(支持多網段)
2、支持Session的保持,Cookie的引導;同時支持通過獲取指定的url來檢測後端服務器的狀態。
3、單純從效率上來講HAProxy會比Nginx有更出色的負載均衡速度,在並發處理上也是優於Nginx的。
4、HAProxy可以對Mysql進行負載均衡,對後端的DB節點進行檢測和負載均衡。
5、HAProxy負載均衡策略多樣
HAProxy缺點:
1、不支持POP/SMTP協議、SPDY協議
3、不支持HTTP cache功能。即不能做Web服務器
4、重載配置的功能需要重啟進程,雖然也是soft restart,但沒有Nginx的reaload更為平滑和友好。
5、多進程模式支持不夠好
HAProxy工作模式:
HAProxy實現了一種事件驅動, 單一進程模型,此模型支持非常大的並發連接數。多進程或多線程模型受內存限制 、系統調度器限制以及無處不在的鎖限制,很少能處理數千並發連接。
LVS、HAProxy、LVS對比

接下來給大家分享一下這三款軟件的學習資料,大家可以保存收藏!
LVS負載均衡學習資料:

新手快速掌握Nginx無敵教程:

HAProxy學習資料:

原創文章,作者:投稿專員,如若轉載,請註明出處:https://www.506064.com/zh-hk/n/252612.html
微信掃一掃
支付寶掃一掃