LVS | Nginx | |
四層 | 四層/七層 | |
抗負載能力 | 強 | 弱 |
配置性 |
可配置性低
同時也減少了人為出錯的概率
|
可配置性高
可以配置一些高級功能
|
穩(wěn)定性 |
穩(wěn)定性高
有完整的雙機熱備方案
|
穩(wěn)定性低,有單機故障
無現(xiàn)成的雙機熱備方案
|
網(wǎng)絡架構依賴 |
強依賴
非常依賴網(wǎng)絡架構設計
當然可以采用比較簡單的NAT方式解決此問題
|
無依賴 |
網(wǎng)絡穩(wěn)定性依賴 |
依賴
數(shù)據(jù)包分發(fā)到壞的后端,不會重新分發(fā),會直接返回錯誤
|
不依賴
數(shù)據(jù)包分發(fā)到壞的后端并返回錯誤后,會嘗試重新分發(fā)到健康的后端
|
網(wǎng)絡流量 |
僅請求流量經(jīng)過lvs的網(wǎng)絡,響應流量由后端服務器的網(wǎng)絡返回。
FULL_NAT同Nginx。
|
所有的請求和響應流量都會經(jīng)過nginx |
宿主機性能要求 |
要求較低
lvs僅僅做分發(fā)請求,流量并不從它本身出去,所以瓶頸僅僅受限于網(wǎng)絡帶寬和網(wǎng)卡性能
|
要求較高
因為nginx需要對源端和目的端都單獨建立連接,中間還涉及到一些數(shù)據(jù)包的解析處理,所以依賴宿主機的I/O性能和CPU內存
|
轉發(fā)方式 |
同步轉發(fā)
lvs服務器接收到請求之后,立即redirect到一個后端服務器,由客戶端直接和后端服務器建立連接。
|
異步轉發(fā)
在保持客戶端連接的同時,發(fā)起一個相同內容的新請求到后端,等后端返回結果后,由nginx返回給客戶端
|
其他 |
支持rewrite重寫規(guī)則:能夠根據(jù)域名、url的不同,將http請求分到不同的后端服務器群組。
節(jié)省帶寬:支持gzip壓縮,可以添加瀏覽器本地緩存的header頭。
|
【兩者配合】
在使用上,一般最前端所采取的的策略應是lvs,也就是dns的指向應為lvs均衡器,主要原因在于nginx雖然功能強大,但是當作為后端的服務器規(guī)模龐大時,nginx的網(wǎng)絡帶寬就成了一個巨大的瓶頸。
但是當lvs作為負載均衡的話,一旦后端接受到請求的服務器出了問題,那么這次請求就失敗了。
所以在很多情況下,nginx會作為lvs的節(jié)點進行負載均衡,這樣,既可以避免nginx的性能造成很嚴重的帶寬瓶頸,也可以利用nginx的錯誤重傳避免lvs一錘子買賣,還能利用nginx的各種高級功能,包括https卸載,報文頭修改等。
以上就是nginx和lvs各自的優(yōu)劣以及適合的使用環(huán)境的詳細內容,更多關于nginx和lvs對比的資料請關注腳本之家其它相關文章!