作者:太一星晨產品經理朱垠 太一星晨研發項目經理李建安
負載均衡,英文名稱為LoadBalance,其意思就是將負載(工作任務)進行平衡,分攤到多個操作單元上進行執行(例如Web服務器、FTP服務器等),實現多個服務器共同完成工作任務的目標。負載均衡建立在現有網絡結構之上,它提升了服務器的性能、提高了帶寬利用率,增強了網絡的靈活性和可靠性。經過十年的發展,負載均衡已經成為網絡應用的重要設備,甚至成為大型網絡應用的核心設備,與基礎路由、交換設備市場并駕齊驅。
十年間,負載均衡的前沿技術層出不窮,令用戶眼花繚亂。經常在技術網站、文檔中出現的“四層負載均衡”、“七層負載均衡”字眼有什么含義?有什么區別?對客戶網絡有哪些不同的優化?帶著這樣的疑問,今天我們就來仔細研究一番。
四層負載均衡像銀行自助排號機 七層負載均衡像銀行大堂經理
首先,我們來了解一下什么是四層負載均衡、什么是七層負載均衡。四層負載均衡指的是負載均衡設備通過報文中的目標IP地址和端口負載均衡算法,選擇到達目的的內部服務器;七層負載均衡,也被稱為“內容交換”,指的是負載均衡設備通過報文中的應用層信息(URL、HTTP頭部等信息)和負載均衡算法,選擇到達目的的內部服務器。二者的區別可以舉個例子形象的說明:四層負載均衡就像銀行的自助排號機,每一個達到銀行的客戶根據排號機的順序,選擇對應的窗口接受服務;而七層負載均衡像銀行大堂經理,先確認客戶需要辦理的業務,再安排排號。這樣辦理理財、存取款等業務的客戶,會根據銀行內部資源得到統一協調處理,加快客戶業務辦理流程。
七層應用負載的好處是使得整個網絡更“智能化”!例如,在網站的運行中,用戶可以通過七層的方式,將圖片類的請求通過緩存技術傳輸到特定的圖片服務器,將對文字類的請求通過壓縮技術傳輸到特定的文字服務器。當然這只是七層應用的一個小案例,從技術原理上,這種方式可以對客戶端的請求和服務器的響應進行任意方式的修改,極大提升了應用系統在網絡層的靈活性。很多在后臺(例如Nginx或者Apache)上部署的功能可以前移到負載均衡設備上(例如客戶請求中的Header重寫,服務器響應中的關鍵字過濾或者內容插入等)。
另外一個常常被提到功能就是安全性。在網絡中常見的SYN Flood攻擊中,黑客會控制眾多客戶端(肉雞),使用虛假IP地址對同一目標發動SYN攻擊,通常這種攻擊會大量發送SYN報文,耗盡服務器上的相關資源,以達到Denial of Service(DoS)的目的。從技術原理上也可以看出,四層模式下這些SYN攻擊都會被轉發到后端的服務器上;而在七層模式下這些SYN攻擊自然在負載均衡設備上就截止,不會影響后臺服務器的正常運營。另外負載均衡設備可以在七層層面設定多種策略,過濾SQL Injection等應用層面的特定攻擊手段,進一步提高系統整體安全。
國內負載均衡技術缺少根本性突破 “渾水摸魚”偽七層負載均衡或將逐步減少
聊到這里,大家應該都明白四層負載均衡和七層負載均衡的區別了。七層負載均衡技術對產品的性能、算法、高可靠性和安全性有著更高的要求。而導致這種技術的差異性,更多的體現在廠商對負載均衡專有平臺的開發上,具體可以概括為以下四點,不滿足這四點的產品都不能稱為七層負載均衡:
第一、七層負載的應用以HTTP協議為主,四層負載的應用以TCP為主,通過測試儀可以看出,七層負載的吞吐性能要比四層負載的吞吐性能低。七層吞吐性能嚴重考驗著負載均衡廠商們,如果不解決這個核心問題,負載均衡設備就會成為網絡的瓶頸,嚴重影響網絡的穩定性。
第二、七層負載算法需要識別URL、Cookie和HTTP head等信息,算法計算程度更豐富,對CPU的負載要求更高,這就需要更高性能的產品。雖然目前硬件平臺已經發展到多核,但是國內廠商在多核平臺的應用開發上存在著較大差距,嚴重制約負載均衡設備多核之間計算能力的協調分配和使用。
第三、七層負載的可靠性體現在兩個方面:一方面是保證服務器訪問的完整性和連續性,這主要體現在七層負載均衡的會話保持技術,通過HTTP Cookie、HTTP SessionID、HTTP ServerID、HTTP 自定義頭域和SSL SessionID等方式實現。另一方面是保證網絡的穩定性,網絡的穩定性主要通過設備關鍵部件的冗余設計,以及雙機、集群部署方式實現。
第四、七層負載的安全性同樣至關重要,因為目前負載均衡已經成為網絡的核心組件,成為服務器業務連續性、完整性、可靠性的保護神。七層負載均衡的安全性需要從兩個方面體現:一是系統本身的安全性,軟件系統應采用自主研發,無系統漏洞和后門;二是可以提供必要的網絡安全防護,減少服務器被直接攻擊的威脅,這樣可以減少服務器區設備串聯堆疊帶來的單點故障。
從以上幾點可以看出,七層負載均衡有著嚴格的定義,優勢也非常明顯。但是,從市場份額來看,七層負載均衡設備還是以國外廠商占據主導地位,國內能夠進行自主研發的只有太一星晨等少數的幾家廠商。而且,國內負載均衡廠商應用場景以鏈路負載為主,難以進入占據負載均衡市場70%份額、主導負載均衡技術發展的服務器負載均衡市場,更缺乏在大型數據中心及大型門戶網站使用案例。
究其原因,還是國內負載均衡技術長期沒有根本性的突破,無法達到服務器負載的核心需求,要占領市場,就需要解決七層負載均衡在網絡吞吐、性能、可靠性、安全性等問題。為此,太一星晨依托優秀的開發團隊,結合了多核路由器、安全攻防檢測技術的豐富積累,致力于深入研究七層負載均衡技術,并推出了相應的產品。
用戶可以發現,在目前國內的負載均衡市場,中國本土廠商已經漸漸的追趕上來,太一星晨等企業研發的負載均衡產品也以高性能、高穩定、高安全性表現出了強大的競爭力,并獲得了市場的充分認可。可以預計,在中國未來的負載均衡市場上,混淆七層負載均衡概念、企圖“渾水摸魚”的現象會越來越少,本土廠商的市場競爭能力會得到更大提高。