佳木斯湛栽影视文化发展公司

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

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

熱門標(biāo)簽:百度競(jìng)價(jià)點(diǎn)擊價(jià)格的計(jì)算公式 美圖手機(jī) 檢查注冊(cè)表項(xiàng) 智能手機(jī) 阿里云 硅谷的囚徒呼叫中心 使用U盤裝系統(tǒng) 網(wǎng)站建設(shè)

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

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

【四層和七層】

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

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

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

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

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

  LVS Nginx
  四層 四層/七層
抗負(fù)載能力 強(qiáng)
配置性
可配置性低
同時(shí)也減少了人為出錯(cuò)的概率
可配置性高
可以配置一些高級(jí)功能
穩(wěn)定性
穩(wěn)定性高
有完整的雙機(jī)熱備方案
穩(wěn)定性低,有單機(jī)故障
無(wú)現(xiàn)成的雙機(jī)熱備方案
網(wǎng)絡(luò)架構(gòu)依賴
強(qiáng)依賴
非常依賴網(wǎng)絡(luò)架構(gòu)設(shè)計(jì)
當(dāng)然可以采用比較簡(jiǎn)單的NAT方式解決此問(wèn)題
無(wú)依賴
網(wǎng)絡(luò)穩(wěn)定性依賴
依賴
數(shù)據(jù)包分發(fā)到壞的后端,不會(huì)重新分發(fā),會(huì)直接返回錯(cuò)誤
不依賴
數(shù)據(jù)包分發(fā)到壞的后端并返回錯(cuò)誤后,會(huì)嘗試重新分發(fā)到健康的后端
網(wǎng)絡(luò)流量
僅請(qǐng)求流量經(jīng)過(guò)lvs的網(wǎng)絡(luò),響應(yīng)流量由后端服務(wù)器的網(wǎng)絡(luò)返回。
FULL_NAT同Nginx。
所有的請(qǐng)求和響應(yīng)流量都會(huì)經(jīng)過(guò)nginx
宿主機(jī)性能要求
要求較低
lvs僅僅做分發(fā)請(qǐng)求,流量并不從它本身出去,所以瓶頸僅僅受限于網(wǎng)絡(luò)帶寬和網(wǎng)卡性能
要求較高
因?yàn)閚ginx需要對(duì)源端和目的端都單獨(dú)建立連接,中間還涉及到一些數(shù)據(jù)包的解析處理,所以依賴宿主機(jī)的I/O性能和CPU內(nèi)存
轉(zhuǎn)發(fā)方式
同步轉(zhuǎn)發(fā)
lvs服務(wù)器接收到請(qǐng)求之后,立即redirect到一個(gè)后端服務(wù)器,由客戶端直接和后端服務(wù)器建立連接。
異步轉(zhuǎn)發(fā)
在保持客戶端連接的同時(shí),發(fā)起一個(gè)相同內(nèi)容的新請(qǐng)求到后端,等后端返回結(jié)果后,由nginx返回給客戶端
其他  
支持rewrite重寫規(guī)則:能夠根據(jù)域名、url的不同,將http請(qǐng)求分到不同的后端服務(wù)器群組。
節(jié)省帶寬:支持gzip壓縮,可以添加瀏覽器本地緩存的header頭。

【兩者配合】

        在使用上,一般最前端所采取的的策略應(yīng)是lvs,也就是dns的指向應(yīng)為lvs均衡器,主要原因在于nginx雖然功能強(qiáng)大,但是當(dāng)作為后端的服務(wù)器規(guī)模龐大時(shí),nginx的網(wǎng)絡(luò)帶寬就成了一個(gè)巨大的瓶頸。
        但是當(dāng)lvs作為負(fù)載均衡的話,一旦后端接受到請(qǐng)求的服務(wù)器出了問(wèn)題,那么這次請(qǐng)求就失敗了。        
        所以在很多情況下,nginx會(huì)作為lvs的節(jié)點(diǎn)進(jìn)行負(fù)載均衡,這樣,既可以避免nginx的性能造成很嚴(yán)重的帶寬瓶頸,也可以利用nginx的錯(cuò)誤重傳避免lvs一錘子買賣,還能利用nginx的各種高級(jí)功能,包括https卸載,報(bào)文頭修改等。

以上就是nginx和lvs各自的優(yōu)劣以及適合的使用環(huán)境的詳細(xì)內(nèi)容,更多關(guān)于nginx和lvs對(duì)比的資料請(qǐng)關(guān)注腳本之家其它相關(guān)文章!

標(biāo)簽:賀州 山南 湘潭 黃山 煙臺(tái) 通遼 湖北 懷化

巨人網(wǎng)絡(luò)通訊聲明:本文標(biāo)題《nginx和lvs各自的優(yōu)劣以及適合的使用環(huán)境》,本文關(guān)鍵詞  ;如發(fā)現(xiàn)本文內(nèi)容存在版權(quán)問(wèn)題,煩請(qǐng)?zhí)峁┫嚓P(guān)信息告之我們,我們將及時(shí)溝通與處理。本站內(nèi)容系統(tǒng)采集于網(wǎng)絡(luò),涉及言論、版權(quán)與本站無(wú)關(guān)。
  • 相關(guān)文章
  • 收縮
    • 微信客服
    • 微信二維碼
    • 電話咨詢

    • 400-1100-266
    仁怀市| 满城县| 丰城市| 宜宾市| 准格尔旗| 股票| 万山特区| 远安县| 阿巴嘎旗| 什邡市| 普兰县| 大同县| 墨玉县| 施甸县| 和静县| 观塘区| 瓦房店市| 奉节县| 垫江县| 石林| 马龙县| 嘉义县| 安化县| 石河子市| 依安县| 贵州省| 锦屏县| 包头市| 交城县| 黄大仙区| 阜康市| 梁山县| 巢湖市| 芮城县| 齐河县| 苗栗县| 两当县| 留坝县| 沭阳县| 顺平县| 德惠市|