負載均衡(Load Balance)
由于目前現(xiàn)有網(wǎng)絡(luò)的各個核心部分隨著業(yè)務(wù)量的提高,訪問量和數(shù)據(jù)流量的快速增長,其處理能力和計算強度也相應地增大,使得單一的服務(wù)器設(shè)備根本無法承擔。在此情況下,如果扔掉現(xiàn)有設(shè)備去做大量的硬件升級,這樣將造成現(xiàn)有資源的浪費,而且如果再面臨下一次業(yè)務(wù)量的提升時,這又將導致再一次硬件升級的高額成本投入,甚至性能再卓越的設(shè)備也不能滿足當前業(yè)務(wù)量增長的需求。
針對此情況而衍生出來的一種廉價有效透明的方法以擴展現(xiàn)有網(wǎng)絡(luò)設(shè)備和服務(wù)器的帶寬、增加吞吐量、加強網(wǎng)絡(luò)數(shù)據(jù)處理能力、提高網(wǎng)絡(luò)的靈活性和可用性的技術(shù)就是負載均衡(Load Balance)。
負載均衡技術(shù)主要應用
1、DNS負載均衡 最早的負載均衡技術(shù)是通過DNS來實現(xiàn)的,在DNS中為多個地址配置同一個名字,因而查詢這個名字的客戶機將得到其中一個地址,從而使得不同的客戶訪問不同的服務(wù)器,達到負載均衡的目的。DNS負載均衡是一種簡單而有效的方法,但是它不能區(qū)分服務(wù)器的差異,也不能反映服務(wù)器的當前運行狀態(tài)。
2、代理服務(wù)器負載均衡 使用代理服務(wù)器,可以將請求轉(zhuǎn)發(fā)給內(nèi)部的服務(wù)器,使用這種加速模式顯然可以提升靜態(tài)網(wǎng)頁的訪問速度。然而,也可以考慮這樣一種技術(shù),使用代理服務(wù)器將請求均勻轉(zhuǎn)發(fā)給多臺服務(wù)器,從而達到負載均衡的目的。
3、地址轉(zhuǎn)換網(wǎng)關(guān)負載均衡 支持負載均衡的地址轉(zhuǎn)換網(wǎng)關(guān),可以將一個外部IP地址映射為多個內(nèi)部IP地址,對每次TCP連接請求動態(tài)使用其中一個內(nèi)部地址,達到負載均衡的目的。
4、協(xié)議內(nèi)部支持負載均衡 除了這三種負載均衡方式之外,有的協(xié)議內(nèi)部支持與負載均衡相關(guān)的功能,例如HTTP協(xié)議中的重定向能力等,HTTP運行于TCP連接的最高層。
5、NAT負載均衡 NAT(Network Address Translation 網(wǎng)絡(luò)地址轉(zhuǎn)換)簡單地說就是將一個IP地址轉(zhuǎn)換為另一個IP地址,一般用于未經(jīng)注冊的內(nèi)部地址與合法的、已獲注冊的Internet IP地址間進行轉(zhuǎn)換。適用于解決Internet IP地址緊張、不想讓網(wǎng)絡(luò)外部知道內(nèi)部網(wǎng)絡(luò)結(jié)構(gòu)等的場合下。
6、反向代理負載均衡 普通代理方式是代理內(nèi)部網(wǎng)絡(luò)用戶訪問internet上服務(wù)器的連接請求,客戶端必須指定代理服務(wù)器,并將本來要直接發(fā)送到internet上服務(wù)器的連接請求發(fā)送給代理服務(wù)器處理。反向代理(Reverse Proxy)方式是指以代理服務(wù)器來接受internet上的連接請求,然后將請求轉(zhuǎn)發(fā)給內(nèi)部網(wǎng)絡(luò)上的服務(wù)器,并將從服務(wù)器上得到的結(jié)果返回給internet上請求連接的客戶端,此時代理服務(wù)器對外就表現(xiàn)為一個服務(wù)器。反向代理負載均衡技術(shù)是把將來自internet上的連接請求以反向代理的方式動態(tài)地轉(zhuǎn)發(fā)給內(nèi)部網(wǎng)絡(luò)上的多臺服務(wù)器進行處理,從而達到負載均衡的目的。
7、混合型負載均衡 在有些大型網(wǎng)絡(luò),由于多個服務(wù)器群內(nèi)硬件設(shè)備、各自的規(guī)模、提供的服務(wù)等的差異,我們可以考慮給每個服務(wù)器群采用最合適的負載均衡方式,然后又在這多個服務(wù)器群間再一次負載均衡或群集起來以一個整體向外界提供服務(wù)(即把這多個服務(wù)器群當做一個新的服務(wù)器群),從而達到最佳的性能。我們將這種方式稱之為混合型負載均衡。此種方式有時也用于單臺均衡設(shè)備的性能不能滿足大量連接請求的情況下。
軟/硬件負載均衡
軟件負載均衡解決方案是指在一臺或多臺服務(wù)器相應的操作系統(tǒng)上安裝一個或多個附加軟件來實現(xiàn)負載均衡,如DNS Load Balance,CheckPoint Firewall-1 ConnectControl等,它的優(yōu)點是基于特定環(huán)境,配置簡單,使用靈活,成本低廉,可以滿足一般的負載均衡需求。
軟件解決方案缺點也較多,因為每臺服務(wù)器上安裝額外的軟件運行會消耗系統(tǒng)不定量的資源,越是功能強大的模塊,消耗得越多,所以當連接請求特別大的時候,軟件本身會成為服務(wù)器工作成敗的一個關(guān)鍵;軟件可擴展性并不是很好,受到操作系統(tǒng)的限制;由于操作系統(tǒng)本身的Bug,往往會引起安全問題。
硬件負載均衡解決方案是直接在服務(wù)器和外部網(wǎng)絡(luò)間安裝負載均衡設(shè)備,這種設(shè)備我們通常稱之為負載均衡器,由于專門的設(shè)備完成專門的任務(wù),獨立于操作系統(tǒng),整體性能得到大量提高,加上多樣化的負載均衡策略,智能化的流量管理,可達到最佳的負載均衡需求。
負載均衡器有多種多樣的形式,除了作為獨立意義上的負載均衡器外,有些負載均衡器集成在交換設(shè)備中,置于服務(wù)器與Internet鏈接之間,有些則以兩塊網(wǎng)絡(luò)適配器將這一功能集成到PC中,一塊連接到Internet上,一塊連接到后端服務(wù)器群的內(nèi)部網(wǎng)絡(luò)上。
一般而言,硬件負載均衡在功能、性能上優(yōu)于軟件方式,不過成本昂貴。
本地/全局負載均衡
負載均衡從其應用的地理結(jié)構(gòu)上分為本地負載均衡(Local Load Balance)和全局負載均衡(Global Load Balance,也叫地域負載均衡),本地負載均衡是指對本地的服務(wù)器群做負載均衡,全局負載均衡是指對分別放置在不同的地理位置、有不同網(wǎng)絡(luò)結(jié)構(gòu)的服務(wù)器群間作負載均衡。
本地負載均衡能有效地解決數(shù)據(jù)流量過大、網(wǎng)絡(luò)負荷過重的問題,并且不需花費昂貴開支購置性能卓越的服務(wù)器,充分利用現(xiàn)有設(shè)備,避免服務(wù)器單點故障造成數(shù)據(jù)流量的損失。其有靈活多樣的均衡策略把數(shù)據(jù)流量合理地分配給服務(wù)器群內(nèi)的服務(wù)器共同負擔。即使是再給現(xiàn)有服務(wù)器擴充升級,也只是簡單地增加一個新的服務(wù)器到服務(wù)群中,而不需改變現(xiàn)有網(wǎng)絡(luò)結(jié)構(gòu)、停止現(xiàn)有的服務(wù)。
全局負載均衡主要用于在一個多區(qū)域擁有自己服務(wù)器的站點,為了使全球用戶只以一個IP地址或域名就能訪問到離自己最近的服務(wù)器,從而獲得最快的訪問速度,也可用于子公司分散站點分布廣的大公司通過Intranet(企業(yè)內(nèi)部互聯(lián)網(wǎng))來達到資源統(tǒng)一合理分配的目的。
全局負載均衡有以下的特點:
實現(xiàn)地理位置無關(guān)性,能夠遠距離為用戶提供完全的透明服務(wù)。
除了能避免服務(wù)器、數(shù)據(jù)中心等的單點失效,也能避免由于ISP專線故障引起的單點失效。
解決網(wǎng)絡(luò)擁塞問題,提高服務(wù)器響應速度,服務(wù)就近提供,達到更好的訪問質(zhì)量。