濮阳杆衣贸易有限公司

主頁 > 知識庫 > nginx和lvs各自的優(yōu)劣以及適合的使用環(huán)境

nginx和lvs各自的優(yōu)劣以及適合的使用環(huán)境

熱門標簽:智能電銷機器人真的有用么 高德地圖標注足跡怎么打標 新鄉(xiāng)牧野400電話申請 撫州市城區(qū)地圖標注 電銷智能機器人試用 激光標記地圖標注 百度地圖底圖標注 企業(yè)辦理400電話收費標準 中國地圖標注上各個省

        在最開始呢,咱們先說一下什么叫負載均衡,負載均衡呢,就是將一批請求,根據(jù)請求的內容,分發(fā)到不同的后端去進行相應的處理,從而提供負載分擔,主備切換等功能。  

            對于不同的負載均衡軟件,有不同的流量分發(fā)算法,今天,我們最市面上比較主流的兩種負載均衡做一個對比,看看他們分別的優(yōu)缺點,以及在很多情況下如何去做配合。

【四層和七層】

       首先,說說四層和七層的區(qū)別;   

             四層負載均衡,指的是IP+端口的負載均衡;
                七層負載均衡,指的是基于WEB請求,URL等應用層信息的負載均衡。
                當然,同理,還有基于MAC地址的二層負載均衡和基于IP地址的三層負載均衡。
                四層負載均衡,主要分析IP層和TCP/UDP層。
                七層負載均衡,要分析應用層協(xié)議,比如HTTP協(xié)議,URL,cookie等信息。

【關于LVS】
        LVS的負載能力很強,因為其工作模式非常簡單,僅進行請求的分發(fā),而且其工作在第四層,沒有流量,在效率方面最高。
        LVS是在四層,可以對幾乎所有的應用作負載均衡。
        但是LVS對于故障后端感知并不敏感,比如在DR模式下,要是有一個后端服務器沒有配置VIP,就會導致請求的一部分數(shù)據(jù)會直接丟失。
        且LVS對于網(wǎng)絡環(huán)境的穩(wěn)定性要求較高,如果請求失敗了,只能依賴于前端的應用自身的重試機制,負載均衡不對請求進行重新下發(fā)。
        而且LVS也很受限于網(wǎng)絡架構,在設計之初就要考慮到網(wǎng)絡架構是否滿足LVS負載的前置條件。 

【關于nginx】
        同樣的,nginx也可以用于負載均衡,但是由于nginx需要對源端/目的端都建立連接,所以處理流量的速度受限于機器I/O,CPU內存等一系列配置,所以nginx的負載能力相對較差。
        nginx安裝,配置都比較簡單,與LVS對比,nginx不需要很嚴格的網(wǎng)絡架構,只要網(wǎng)絡可以聯(lián)通即可。
        且nginx自身的重試機制,可以保證請求下發(fā)失敗之后,會重新下發(fā)到健康的后端上。
        但是,nginx因為沒有現(xiàn)成的熱備機制,所以,存在單點故障的問題,一般需要搭配keepalived使用。
        不過,nginx作為一款應用層負載均衡(后來引入stream模塊之后,四層也支持了),可以提供負載分擔,貯備切換,HTTPS寫在,帶寬限速,隱藏真實IP,隱藏真實端口,屏蔽攻擊等能力,這是LVS所不能提供的。

【對比】
        lvs和nginx都是現(xiàn)在很主流的負載均衡方式,他們各有優(yōu)缺點,在生產環(huán)境需要根據(jù)其特點做選擇。

  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對比的資料請關注腳本之家其它相關文章!

標簽:邯鄲 辛集 延安 海西 忻州 臨汾 西安 南通

巨人網(wǎng)絡通訊聲明:本文標題《nginx和lvs各自的優(yōu)劣以及適合的使用環(huán)境》,本文關鍵詞  nginx,和,lvs,各,自的,優(yōu)劣,;如發(fā)現(xiàn)本文內容存在版權問題,煩請?zhí)峁┫嚓P信息告之我們,我們將及時溝通與處理。本站內容系統(tǒng)采集于網(wǎng)絡,涉及言論、版權與本站無關。
  • 相關文章
  • 下面列出與本文章《nginx和lvs各自的優(yōu)劣以及適合的使用環(huán)境》相關的同類信息!
  • 本頁收集關于nginx和lvs各自的優(yōu)劣以及適合的使用環(huán)境的相關信息資訊供網(wǎng)民參考!
  • 推薦文章
    韶山市| 罗甸县| 上饶县| 都匀市| 京山县| 和龙市| 汨罗市| 神农架林区| 西安市| 胶州市| 大城县| 禹州市| 镇原县| 公安县| 贡嘎县| 河东区| 青田县| 平南县| 砚山县| 桦南县| 肇源县| 林西县| 航空| 普兰店市| 瑞昌市| 延川县| 龙门县| 孝感市| 齐河县| 泰来县| 任丘市| 治多县| 嘉祥县| 肇州县| 泸州市| 游戏| 金平| 团风县| 云南省| 通渭县| 长子县|