Linux中LVS負載和Nginx負載區別是什麼?優劣勢彙總!
負載均衡其意思就是分攤到多個操作單元上進行執行,例如Web伺服器、FTP伺服器、企業關鍵應用伺服器和其它關鍵任務伺服器等,從而共同完成工作任務。提到Linux負載均衡,大家肯定都知道LVS負載和Nginx負載,那麼LVS負載和Nginx負載有啥區別?我們來看看吧。
LVS是Liunx虛擬伺服器的簡稱,利用LVS提供的負載均衡技術和linux作業系統可實現高效能、高可用的伺服器叢集,一般LVS都是位於整個叢集系統的最前端,由一臺或者多臺負載排程器組成,分發給應用伺服器。它是工作在4層,LVS是基於IP負載均衡技術的IPVS模組來實現的,IPVS實現負載均衡機制有三種,分別是NAT、TUN和DR,詳述如下:
VS/NAT:
也就是網路地址翻譯技術實現虛擬伺服器,當使用者請求到達排程器時,排程器將請求報文的目標地址改寫成選定的Real Server地址,同時報文的目標埠也改成選定的Real Server的相應埠,最後將報文請求傳送到選定的Real Server。在伺服器端得到資料後,Real Server返回資料給使用者時,需要再次經過負載排程器將報文的源地址和源埠改成虛擬IP地址和相應埠,然後把資料傳送給使用者,完成整個負載排程過程。
可以看出,在NAT方式下,使用者請求和響應報文都必須經過Director Server地址重寫,當使用者請求越來越多時,排程器的處理能力將稱為瓶頸。
VS/TUN:
也就是IP隧道技術實現虛擬伺服器。它的連線排程和管理與VS/NAT方式一樣,只是它的報文轉發方法不同,VS/TUN方式中,排程器採用IP隧道技術將使用者請求轉發到某個Real Server,而這個Real Server將直接響應使用者的請求,不再經過前端排程器,此外,對Real Server的地域位置沒有要求,可以和Director Server位於同一個網段,也可以是獨立的一個網路。因此,在TUN方式中,排程器將只處理使用者的報文請求,叢集系統的吞吐量大大提高。
VS/DR:
也就是用直接路由技術實現虛擬伺服器。它的連線排程和管理與VS/NAT和VS/TUN中的一樣,但它的報文轉發方法又有不同,VS/DR透過改寫請求報文的MAC地址,將請求傳送到Real Server,而Real Server將響應直接返回給客戶,免去了VS/TUN中的IP隧道開銷。這種方式是三種負載排程機制中效能最高最好的,但是必須要求Director Server與Real Server都有一塊網路卡連在同一物理網段上。
回答負載排程演算法,IPVS實現在八種負載排程演算法,我們常用的有四種排程演算法(輪叫排程、加權輪叫排程、最少連結排程、加權最少連結排程)。接下來簡單說下與nginx的區別:
LVS的優點:
抗負載能力強、工作在第4層僅作分發之用,沒有流量的產生,這個特點也決定了它在負載均衡軟體裡的效能最強的;無流量,同時保證了均衡器IO的效能不會受到大流量的影響;
工作穩定,自身有完整的雙機熱備方案,如LVS+Keepalived和LVS+Heartbeat;
應用範圍比較廣,可以對所有應用做負載均衡;
配置性比較低,這是一個缺點也是一個優點,因為沒有可太多配置的東西,所以並不需要太多接觸,大大減少了人為出錯的機率。
Nginx的優點:
工作在OSI第7層,可以針對http應用做一些分流的策略。比如針對域名、目錄結構。它的正則比HAProxy更為強大和靈活;
Nginx對網路的依賴非常小,理論上能ping通就能進行負載功能,這個也是它的優勢所在;
Nginx安裝和配置比較簡單,測試起來比較方便;
可以承擔高的負載壓力且穩定,一般能支撐超過幾萬次的併發量;
Nginx可以透過埠檢測到伺服器內部的故障,比如根據伺服器處理網頁返回的狀態碼、超時等等,並且會把返回錯誤的請求重新提交到另一個節點;
Nginx不僅僅是一款優秀的負載均衡器/反向代理軟體,它同時也是功能強大的Web應用伺服器。LNMP現在也是非常流行的web環境,大有和LAMP環境分庭抗禮之勢,Nginx在處理靜態頁面、特別是抗高併發方面相對apache有優勢;
Nginx現在作為Web反向加速快取越來越成熟了,速度比傳統的Squid伺服器更快,有需求的朋友可以考慮用其作為反向代理加速器;
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/69952527/viewspace-2910643/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- Linux LVS 負載均衡Linux負載
- 負載均衡之--Nginx、LVS、HAProxy負載Nginx
- 負載均衡和動態負載均衡分別是什麼?-VeCloud負載Cloud
- 在Linux中,nginx反向代理和負載均衡實現原理是什麼?LinuxNginx負載
- LVS 負載均衡負載
- 負載均衡之LVS與Nginx對比負載Nginx
- LVS和Nginx實現負載均衡功能的比較Nginx負載
- LVS負載均衡群集負載
- Nginx 高階篇(二)什麼是負載均衡Nginx負載
- sem和seo有什麼區別?各自的優劣勢是什麼?
- LVS負載均衡群集概念、NAT模式LVS負載均衡實戰部署負載模式
- Nginx/LVS/HAProxy負載均衡軟體的優缺點詳解Nginx負載
- 負載均衡是什麼?怎麼理解負載均衡的部署方式和工作原理負載
- 在Linux中,什麼是負載均衡?它是如何工作的?Linux負載
- 什麼是負載均衡–SLB負載
- 負載均衡LVS+NAT負載
- (4)什麼是Ribbon負載均衡負載
- nginx負載均衡Nginx負載
- NGINX 負載均衡Nginx負載
- 【Nginx】負載均衡Nginx負載
- Nginx負載配置Nginx負載
- LVS負載均衡群集--NAT模式負載模式
- Nginx中的負載平衡方法Nginx負載
- Linux中負載均衡是什麼?傳輸模式分為幾種?Linux負載模式
- Linux效能優化-平均負載Linux優化負載
- 負載均衡伺服器的主要用途是什麼?負載均衡的方法是什麼?負載伺服器
- 在Linux中,tomcat和nginx的區別是什麼?LinuxTomcatNginx
- 在Linux中,什麼是負載均衡,並且如何在Linux中實現它。Linux負載
- 做了反向代理和負載均衡的nginx配置檔案簡單示例(nginx.conf) HTTP負載均衡/TCP負載均衡負載NginxHTTPTCP
- Nginx負載均衡模式Nginx負載模式
- LVS 負載均衡之 VS/NAT 模式負載模式
- LVS 負載均衡之 VS/TUN 模式負載模式
- LVS 負載均衡之 VS/DR 模式負載模式
- LVS+KEEPALIVED負載均衡實驗負載
- Linux環境下Nginx及負載均衡LinuxNginx負載
- cpu負載是什麼意思 電腦cpu負載過高怎麼處理解決負載
- Linux裡面lvs和haproxy區別是什麼?Linux學習教程Linux
- Linux平均負載Linux負載