天天看點

伺服器叢集負載均衡

今天有人提到F5,早有耳聞,未知其詳.便查點資料出來.

F5全稱大約是這個樣子: F5-BIG-IP-GTM 全球流量管理器.

是一家叫F5 Networks的公司開發的四~七層交換機,軟硬體捆綁.

據說最初用BSD系統,現在是LINUX;硬體是Intel的PC架構,再加周邊的網絡和專用加速裝置.

當然要提提售價, 都是幾十萬RMB的身價.

這寶貝是用于對流量和内容進行管理配置設定的裝置,也就是負載均衡.

從名字就能看出來:BIG-IP.

外部看來是一個IP,内部可卻是幾十台應用伺服器.表現為一個虛拟的大伺服器.

是以我才說: 好大一個IP.

LVS = Linux Virtual Server

是俺們中國人,一個叫章文嵩的博士推創開發出來的,

他的web:http://zh.linuxvirtualserver.org/

IBM網站的資料:叢集的可擴充性及其分布式體系結構(4)

博士關于LVS和F5的對比:

關于和F5的差别,很難一句話說明白,都是做負載均衡的裝置。

F5雖然也是基于BSD系統修改的(據說最新的基于Linux了),但重要的交換部分,則是通過專門的交換晶片實作的(類似有了專門的圖像處理晶片,就可以省去大量的CPU對圖像處理的運算),這樣他的性能就不會很依賴于主機的作業系統的處理能力。

F5上負載均衡大多是基于NAT/SNAT,也可以實作Proxy,但用的較少,做為一個上市公司,F5自然在産品化程度上做的很好,無論配置管理友善性、靈活性,性能和穩定性上都比較好。

LVS在NAT模式下,和F5的功能基本上是一樣的,但畢竟LVS是純粹的軟體,性能是依賴于主機的運算能力的。

而且,LVS是開源的項目,不應該和一個商業産品來比較,人家那是賣錢的,有很多人來維護和開發,而LVS一直是章博士義務來維護開發的,想要更好的功能,就需要有更多的人參與進來才行。

說的相當透徹了.

DNS輪詢是做負載均衡最簡單有效的實作方法,各方面代價都極低.貨好便宜量又足.

缺點就是由于沒有檢測機制, 不夠均衡,容錯反應時間長.

國内門戶用這個技術的很多,配合squid有很好的效果.

當然,不做負載均衡, 直接從多個ISP拉幾根線,分别提供服務是最原始的方法.

CDN = Content Delivery Network,内容分發網絡。

細究起來上面的都是cdn的實作方式.

國内開放的服務很少(chinacache),國外卻非常流行.

就是提供緩存節點,把目标網絡内容的通路轉化為臨近節點的通路.

響應速度\安全\透明\擴充,特别是中國這種還沒解放台灣就南北分裂的網絡格局下,更為偉大.

不過也是貴族的服務,建設成本很高.

maomao前段時間就是說搞這個的, 名字很響亮, 數量也夠, 就是不知道到底亮了沒有.

說了這麼多高高在上的東東,總算遇到一個切身的:

搜尋發現了一個CDN的提供商,

這是報價:

月流量(GB) 月收費政策

小于 20GB 58元

小于 50GB 128元

小于 100GB 198元

小于 200GB 368元

小于 300GB 528元

小于 400GB 688元

小于 500GB 818元

小于 800GB 1288元

小于 1000GB 1588元

價格很平民哦,不過網站上找不到任何顯示商業可信度的東東.

至此, ADSL + DDNS + CDN 也算是另一個建小站的途徑了.

把空間的租用費用投資在流量上, 直接有效. 不過電費和穩定性上不容樂觀.

其實CDN不隻是做網站服務的, 比如在南韓,多數的CND流量都是被網絡遊戲占用了.

試想,如果能大範圍鋪開CDN節點, 那還有必要一個遊戲分那麼多區,占用那麼多伺服器麼?

結論是還有必要 雖然确實通路連接配接和響應速度對現在的網絡遊戲有很大影響,但開發瓶頸更在于計算能力和資料存儲通路.

又一個試想, 把CDN和P2P結合, 上網的個人PC隻要提供CDN服務, 就可以每月獲的xx美金的傭金.由資訊和應用提供商買單.

怎麼看這都是個良性發展的産業鍊, 就像google明年要推出免費手機,讓廣告商買單一樣.

不過唯一不高興的就應該是ISP們了,現在bt這樣的共享都被封殺.

除非這個業務被他們自己壟斷,不然也是僵屍的下場.

使用者也不是百利無害的, 資料安全和資訊及時有挑戰.

GV們也不是看戲的,現在還有網站可以封,寫個blog都要100萬注冊資金;

如果一堆SSL加密的資料四處流竄,神龍無首無尾,怎麼屏蔽過濾,怎麼防川啊~

回望眼,越看越像網摘,索性就再摘段完整的

F5功能介紹:

1.多鍊路的負載均衡和備援

與網際網路絡相關的關鍵業務都需要安排和配置多條ISP接傳入連結路以保證網絡服務的品質,消除單點故障,減少停機時間。多條ISP接入的方案并不是簡單的多條不同的廣域網絡的路由問題,因為不同的ISP有不同自治域,是以必須考慮到兩種情況下如何實作多條鍊路的負載均衡:

more..

less..

内部的應用系統和網絡工作站在通路網際網路絡的服務和網站時如何能夠在多條不同的鍊路中動态配置設定和負載均衡,這也被稱為OUTBOUND流量的負載均衡。

網際網路絡的外部使用者如何在外部通路内部的網站和應用系統時也能夠動态的在多條鍊路上平衡配置設定,并在一條鍊路中斷的時候能夠智能地自動切換到另外一條鍊路到達伺服器和應用系統,這也被稱作為INBOUND流量的負載均衡。

F5 的BIG-IP LC可以智能的解決以上兩個問題:

對于OUTBOUND流量,BIG-IP LC接收到流量以後,可以智能的将OUTBOUND流量配置設定到不同的INTERNET接口,并做源位址的NAT,可以指定某一合法IP位址進行源位址的 NAT,也可以用BIG-IP LC的接口位址自動映射,保證資料包傳回時能夠正确接收。

對于INBOUND流量,BIG-IP LC分别綁定兩個ISP 服務商的公網位址,解析來自兩個ISP服務商的DNS解析請求。BIG-IP LC不僅可以根據伺服器的健康狀況和響應速度回應LDNS相應的IP位址,還可以通過兩條鍊路分别與LDNS建立連接配接,根據RTT時間判斷鍊路的好壞,并且綜合以上兩個參數回應LDNS相應的IP位址。

2.防火牆負載均衡

考慮到絕大多數的防火牆隻能達到線速的30%吞吐能力,故要使系統達到設計要求的線速處理能力,必須添加多台防火牆,以滿足系統要求。然而,防火牆必須要求資料同進同出,否則連接配接将被拒絕。如何解決防火牆的負載均衡問題,是關系到整個系統的穩定性的關鍵問題。

F5的防火牆負載均衡方案,能夠為使用者提供異構防火牆的負載均衡與故障自動排除能力。典型的提高防火牆處理能力的方法是采用“防火牆三明治”的方法,以實作透明裝置的持續性。這可滿足某些要求客戶為成功安全完成交易必須通過同一防火牆的應用程式的要求,也能夠維護原來的網絡安全隔離的要求。F5标準防火牆解決方案如圖所示:

防火牆負載均衡連接配接示意圖

3.伺服器負載均衡

對于所有的對外提供服務的伺服器,均可以在BIG-IP上配置Virtual Server實作負載均衡,同時BIG-IP可持續檢查伺服器的健康狀态,一旦發現故障伺服器,則将其從負載均衡組中摘除。

BIG-IP利用虛拟IP位址(VIP由IP位址和TCP/UDP應用的端口組成,它是一個位址)來為使用者的一個或多個目标伺服器(稱為節點:目标伺服器的IP位址和TCP/UDP應用的端口組成,它可以是internet的私網位址)提供服務。是以,它能夠為大量的基于TCP/IP的網絡應用提供伺服器負載均衡服務。根據服務類型不同分别定義伺服器群組,可以根據不同服務端口将流量導向到相應的伺服器。BIG-IP連續地對目标伺服器進行L4到 L7合理性檢查,當使用者通過VIP請求目标伺服器服務時,BIG-IP根椐目标伺服器之間性能和網絡健康情況,選擇性能最佳的伺服器響應使用者的請求。如果能夠充分利用所有的伺服器資源,将所有流量均衡的配置設定到各個伺服器,我們就可以有效地避免“不平衡”現象的發生。

利用UIE+iRules可以将TCP/UDP資料包打開,并搜尋其中的特征資料,之後根據搜尋到的特征資料作相應的規則處理。是以可以根據使用者通路内容的不同将流量導向到相應的伺服器,例如:根據使用者通路請求的URL将流量導向到相應的伺服器。

4.系統高可用性

系統高可用性主要可以從以下幾個方面考慮:

4.1.裝置自身的高可用性:F5 BIG-IP專門優化的體系結構和卓越的處理能力保證99.999%的正常運作時間,在雙機備援模式下工作時可以實作毫秒級切換,保證系統穩定運作,另外還有備援電源子產品可選。在采用雙機備份方式時,備機切換時間最快會在200ms之内進行切換。BIG-IP 産品是業界唯一的可以達到毫秒級切換的産品, 而且設計極為合理,所有會話通過Active 的BIG-IP 的同時,會把會話資訊通過同步資料線同步到Backup的BIG-IP,保證在Backup BIG-IP内也有所有的使用者通路會話資訊;另外每台裝置中的watchdog晶片通過心跳線監控對方裝置的電頻,當Active BIG-IP故障時,watchdog會首先發現,并通知Backup BIG-IP接管Shared IP,VIP等,完成切換過程,因為Backup BIG-IP中有事先同步好的會話資訊,是以可以保證通路的暢通無阻。

4.2.鍊路備援:BIG-IP可以檢測每條鍊路的運作狀态和可用性,做到鍊路和ISP故障的實時檢測。一旦出現故障,流量将被透明動态的引導至其它可用鍊路。通過監控和管理出入資料中心的雙向流量,内部和外部使用者均可保持網絡的全時連接配接。

4.3.伺服器備援,多台伺服器同時提供服務,當某一台伺服器故障不能提供服務時,使用者的通路不會中斷。BIG-IP可以在OSI七層模型中的不同層面上對伺服器進行健康檢查,實時監測伺服器健康狀況,如果某台伺服器出現故障,BIG-IP确定它無法提供服務後,就會将其在服務隊列中清除,保證使用者正常的通路應用,確定回應内容的正确性。

5.高度的安全性

BIG-IP采用防火牆的設計原理,是預設拒絕裝置,它可以為任何站點增加額外的安全保護,防禦普通網絡攻擊。可以通過支援指令行的SSH或支援浏覽器管理的SSL友善、安全的進行遠端管理,提高裝置自身的安全性;能夠拆除空閑連接配接防止拒絕服務攻擊;能夠執行源路由跟蹤防止IP欺騙;拒絕沒有ACK 緩沖确認的SYN防止SYN攻擊;拒絕teartop和land攻擊;保護自己和伺服器免受ICMP攻擊;不運作SMTP、FTP、TELNET或其它易受攻擊的背景程式。

BIG-IP的Dynamic Reaping特性可以高效删除各類網絡DoS攻擊中的空閑連接配接,這可以保護BIG-IP不會因流量過多而癱瘓。BIG-IP可以随着攻擊量的增加而加快連接配接切斷速率,進而提供一種具有極強适應能力、能夠防禦最大攻擊量的解決方案。

BIG-IP的Delay Binding技術可以為部署在BIG-IP後面的伺服器提供全面地SYN Flood保護。此時,BIG-IP裝置作為安全代理來有效保護整個網絡。

BIG-IP可以和其它安全裝置配合,建構動态安全防禦體系。BIG-IP可以根據使用者機關時間内的連接配接數生成控制通路清單,将該清單加載到其它安全裝置上,有效控制攻擊流量。

6.SSL加速

在每台BIG-IP上,都具有SSL硬體加速晶片,并且自帶100個TPS的License,使用者可以不通過單獨付費,就可以擁有100個TPS的 SSL 加速功能,節約了使用者的投資。在将來系統擴充時,可以簡單的通過License更新的方式,獲得更高的SSL加速性能。

7.系統管理

BIG-IP提供HTTPS、SSH、Telnet、SNMP等多種管理方式,使用者用戶端隻需作業系統自帶的浏覽器軟體即可,不需安裝其它軟體。可以通過支援指令行的SSH或支援浏覽器管理的SSL友善、安全的進行遠端管理。直覺易用的Web圖形使用者界面大服務降低了多歸屬基礎設施的實施成本和日常維護費用。

BIG-IP包含詳盡的實時報告和曆史紀錄報告,可供評測站點流量、相關ISP性能和預計帶寬計費周期。管理者可以通過全面地報告功能充分掌握帶寬資源的利用狀況。

另外,通過F5 的i-Control 開發包,目前國内已有基于i-Control開發的網管軟體x-control, 可以定制針對系統服務特點的監控系統,比如服務的流量情況、各種服務連接配接數、通路情況、節點的健康狀況等等,進行可視化顯示。

告警方式可以提供syslog、snmp trap、mail等方式。

8.其它

記憶體擴充能力:F5 BIG-IP 1000以上裝置單機最大可擴充到2G記憶體,此時可支援400萬并發回話。

更新能力:F5 所有裝置均可通過軟體方式更新,在服務有效期内,更新軟體包由F5公司提供。F5 NETWORKS已經釋出其系統的最新版本BIG-IP V9.0,主要有以下特性:虛拟 IPV4 / IPV6 應用、加速Web應用高達3倍、減少66%甚至更多的基礎架構成本、確定高優先級應用的性能、確定更進階别的可用性、大幅提高網絡和應用安全性、強大的性能,簡單的管理方式、無以匹敵的自适應能力和延展能力和突破的性能表現力。其強大的HTTP壓縮功能可以将使用者下載下傳時間縮短50%,節省80%的帶寬。

IP位址過濾和帶寬控制:BIG-IP可以根據通路控制清單對資料包進行過濾,并且針對某一關鍵應用進行帶寬控制,確定關鍵應用的穩定運作。

配置管理及系統報告:F5 BIG-IP提供WEB 界面配置方式和指令行方式進行配置管理,并在其中提供了豐富的系統報告,更可通過i-Control自行開發複雜的配置及報告生成。

繼續閱讀