戲說服務(wù)器負(fù)載均衡的兩大風(fēng)云人物
LVS和F5,在負(fù)載均衡領(lǐng)域已經(jīng)是爭鋒相對了。那么都是做服務(wù)器負(fù)載均衡這方面的產(chǎn)品,到底他們有什么差異和特點呢?,F(xiàn)在,我們來看看這個作者的文章,這篇文章語言很風(fēng)趣,對兩款產(chǎn)品的剖析很很到位,在此推薦給大家共通賞析。
F5全稱大約是這個樣子:F5-BIG-IP-GTM全球流量管理器.是一家叫F5Networks的公司開發(fā)的四~七層交換機,軟硬件捆綁.據(jù)說最初用BSD系統(tǒng),現(xiàn)在是LINUX;硬件是Intel的PC架構(gòu),再加周邊的網(wǎng)絡(luò)和專用加速設(shè)備.當(dāng)然要提提售價,都是幾十萬RMB的身價.這寶貝是用于對流量和內(nèi)容進(jìn)行管理分配的設(shè)備,也就是負(fù)載均衡.從名字就能看出來:BIG-IP.外部看來是一個IP,內(nèi)部可卻是幾十臺應(yīng)用服務(wù)器.表現(xiàn)為一個虛擬的大服務(wù)器.所以我才說:好大一個IP.
LVS=Linux Virtual Server。是俺們中國人,一個叫章文嵩的博士推創(chuàng)開發(fā)出來的,他的web:http://zh.linuxvirtualserver.org/。IBM網(wǎng)站的資料:集群的可擴展性及其分布式體系結(jié)構(gòu)(4)
博士關(guān)于LVS和F5的對比:
關(guān)于和F5的差別,很難一句話說明白,都是做負(fù)載均衡的設(shè)備。
F5雖然也是基于BSD系統(tǒng)修改的(據(jù)說***的基于Linux了),但重要的交換部分,則是通過專門的交換芯片實現(xiàn)的(類似有了專門的圖像處理芯片,就可以省去大量的CPU對圖像處理的運算),這樣他的性能就不會很依賴于主機的操作系統(tǒng)的處理能力。F5上負(fù)載均衡大多是基于NAT/SNAT,也可以實現(xiàn)Proxy,但用的較少,做為一個上市公司,F5自然在產(chǎn)品化程度上做的很好,無論配置管理方便性、靈活性,性能和穩(wěn)定性上都比較好。
LVS在NAT模式下,和F5的功能基本上是一樣的,但畢竟LVS是純粹的軟件,性能是依賴于主機的運算能力的。而且,LVS是開源的項目,不應(yīng)該和一個商業(yè)產(chǎn)品來比較,人家那是賣錢的,有很多人來維護(hù)和開發(fā),而LVS一直是章博士義務(wù)來維護(hù)開發(fā)的,想要更好的功能,就需要有更多的人參與進(jìn)來才行。說的相當(dāng)透徹了.DNS輪詢是做負(fù)載均衡最簡單有效的實現(xiàn)方法,各方面代價都極低.貨好便宜量又足.缺點就是由于沒有檢測機制,不夠均衡,容錯反應(yīng)時間長.國內(nèi)門戶用這個技術(shù)的很多,配合squid有很好的效果.當(dāng)然,不做負(fù)載均衡,直接從多個ISP拉幾根線,分別提供服務(wù)是最原始的方法.
F5功能介紹:
1.多鏈路的負(fù)載均衡和冗余
與互聯(lián)網(wǎng)絡(luò)相關(guān)的關(guān)鍵業(yè)務(wù)都需要安排和配置多條ISP接入鏈路以保證網(wǎng)絡(luò)服務(wù)的質(zhì)量,消除單點故障,減少停機時間。多條ISP接入的方案并不是簡單的多條不同的廣域網(wǎng)絡(luò)的路由問題,因為不同的ISP有不同自治域,所以必須考慮到兩種情況下如何實現(xiàn)多條鏈路的負(fù)載均衡:
內(nèi)部的應(yīng)用系統(tǒng)和網(wǎng)絡(luò)工作站在訪問互聯(lián)網(wǎng)絡(luò)的服務(wù)和網(wǎng)站時如何能夠在多條不同的鏈路中動態(tài)分配和負(fù)載均衡,這也被稱為OUTBOUND流量的負(fù)載均衡。互聯(lián)網(wǎng)絡(luò)的外部用戶如何在外部訪問內(nèi)部的網(wǎng)站和應(yīng)用系統(tǒng)時也能夠動態(tài)的在多條鏈路上平衡分配,并在一條鏈路中斷的時候能夠智能地自動切換到另外一條鏈路到達(dá)服務(wù)器和應(yīng)用系統(tǒng),這也被稱作為INBOUND流量的負(fù)載均衡。
F5的BIG-IPLC可以智能的解決以上兩個問題:對于OUTBOUND流量,BIG-IPLC接收到流量以后,可以智能的將OUTBOUND流量分配到不同的INTERNET接口,并做源地址的NAT,可以指定某一合法IP地址進(jìn)行源地址的NAT,也可以用BIG-IPLC的接口地址自動映射,保證數(shù)據(jù)包返回時能夠正確接收。對于INBOUND流量,BIG-IPLC分別綁定兩個ISP服務(wù)商的公網(wǎng)地址,解析來自兩個ISP服務(wù)商的DNS解析請求。BIG-IPLC不僅可以根據(jù)服務(wù)器的健康狀況和響應(yīng)速度回應(yīng)LDNS相應(yīng)的IP地址,還可以通過兩條鏈路分別與LDNS建立連接,根據(jù)RTT時間判斷鏈路的好壞,并且綜合以上兩個參數(shù)回應(yīng)LDNS相應(yīng)的IP地址。
2.防火墻負(fù)載均衡
考慮到絕大多數(shù)的防火墻只能達(dá)到線速的30%吞吐能力,故要使系統(tǒng)達(dá)到設(shè)計要求的線速處理能力,必須添加多臺防火墻,以滿足系統(tǒng)要求。然而,防火墻必須要求數(shù)據(jù)同進(jìn)同出,否則連接將被拒絕。如何解決防火墻的負(fù)載均衡問題,是關(guān)系到整個系統(tǒng)的穩(wěn)定性的關(guān)鍵問題。F5的防火墻負(fù)載均衡方案,能夠為用戶提供異構(gòu)防火墻的負(fù)載均衡與故障自動排除能力。典型的提高防火墻處理能力的方法是采用“防火墻三明治"的方法,以實現(xiàn)透明設(shè)備的持續(xù)性。這可滿足某些要求客戶為成功安全完成交易必須通過同一防火墻的應(yīng)用程序的要求,也能夠維護(hù)原來的網(wǎng)絡(luò)安全隔離的要求。F5標(biāo)準(zhǔn)防火墻解決方案如圖所示:
3.服務(wù)器負(fù)載均衡
對于所有的對外提供服務(wù)的服務(wù)器,均可以在BIG-IP上配置VirtualServer實現(xiàn)負(fù)載均衡,同時BIG-IP可持續(xù)檢查服務(wù)器的健康狀態(tài),一旦發(fā)現(xiàn)故障服務(wù)器,則將其從負(fù)載均衡組中摘除。BIG-IP利用虛擬IP地址(VIP由IP地址和TCP/UDP應(yīng)用的端口組成,它是一個地址)來為用戶的一個或多個目標(biāo)服務(wù)器(稱為節(jié)點:目標(biāo)服務(wù)器的IP地址和TCP/UDP應(yīng)用的端口組成,它可以是internet的私網(wǎng)地址)提供服務(wù)。因此,它能夠為大量的基于TCP/IP的網(wǎng)絡(luò)應(yīng)用提供服務(wù)器負(fù)載均衡服務(wù)。根據(jù)服務(wù)類型不同分別定義服務(wù)器群組,可以根據(jù)不同服務(wù)端口將流量導(dǎo)向到相應(yīng)的服務(wù)器。BIG-IP連續(xù)地對目標(biāo)服務(wù)器進(jìn)行L4到L7合理性檢查,當(dāng)用戶通過VIP請求目標(biāo)服務(wù)器服務(wù)時,BIG-IP根椐目標(biāo)服務(wù)器之間性能和網(wǎng)絡(luò)健康情況,選擇性能***的服務(wù)器響應(yīng)用戶的請求。如果能夠充分利用所有的服務(wù)器資源,將所有流量均衡的分配到各個服務(wù)器,我們就可以有效地避免“不平衡"現(xiàn)象的發(fā)生。利用UIE+iRules可以將TCP/UDP數(shù)據(jù)包打開,并搜索其中的特征數(shù)據(jù),之后根據(jù)搜索到的特征數(shù)據(jù)作相應(yīng)的規(guī)則處理。因此可以根據(jù)用戶訪問內(nèi)容的不同將流量導(dǎo)向到相應(yīng)的服務(wù)器,例如:根據(jù)用戶訪問請求的URL將流量導(dǎo)向到相應(yīng)的服務(wù)器。