細數(shù)從負載均衡到應(yīng)用交付的演進歷程
近年來,IT互聯(lián)網(wǎng)技術(shù)發(fā)展日新月異,新興的技術(shù)概念層出不窮,有些新興的技術(shù)概念連不少IT業(yè)內(nèi)的從業(yè)者都還沒來得及理解,便已經(jīng)步入了廣泛深入的應(yīng)用洪流中,應(yīng)用交付便是其中之一。
提起應(yīng)用交付,甚至很多IT經(jīng)理還頗感陌生,但是提到負載均衡他們卻是相當熟悉,當向他們進一步解釋應(yīng)用交付是比負載均衡更全面更系統(tǒng)的網(wǎng)絡(luò)優(yōu)化產(chǎn)品時,他們之中的不少人估計都會像小沈陽一樣可愛的發(fā)問:“這是為什么呢?” 提出這樣的疑問可以理解,因為負載均衡的應(yīng)用時間也還沒有多久,就要向著應(yīng)用交付進化了。
那么,到底是什么促進了網(wǎng)絡(luò)優(yōu)化產(chǎn)品如此快速的演進呢?國內(nèi)新興應(yīng)用交付廠商太一星晨對此有著深入的理解。
太一星晨核心技術(shù)團隊在10年前研發(fā)出國內(nèi)***臺***的電信路由器,繼而又推出國內(nèi)***臺萬兆UTM網(wǎng)關(guān),如今又研發(fā)出國內(nèi)性能***的T比特級應(yīng)用交付設(shè)備,可謂是國內(nèi)網(wǎng)絡(luò)優(yōu)化產(chǎn)品發(fā)展歷程的資深見證者和研發(fā)者。對于,國內(nèi)網(wǎng)絡(luò)優(yōu)化產(chǎn)品的演進歷程,太一星晨產(chǎn)品總監(jiān)于振波先生特別做出了詳細的解讀。
最初的DNS
在互聯(lián)網(wǎng)商用初期、專用的負載均衡設(shè)備實現(xiàn)商用之前,最常用的實現(xiàn)擴展性和高可用性的技術(shù)是DNS輪詢。
所謂DNS輪詢,就是依托于域名服務(wù),將用戶訪問的URL(如www.example.com)轉(zhuǎn)換為機器可識別的IP地址(如192.0.2.11)的服務(wù),它使每個域名解析請求能對應(yīng)多個IP地址以不同順序應(yīng)答。這樣,當不同用戶請求對應(yīng)域名時,就自然而然地分配到了不同的服務(wù)器上。
于振波表示,雖然從解決擴展性的角度來看,這種方案非常有效,但無論是從提高擴展性還是持續(xù)性來說,DNS方案都有一些欠妥。
如果把DNS Sever理解為一位項目經(jīng)理,那么他實在不是一位有領(lǐng)導(dǎo)力的頭兒。比如,每當接到大Boss新任務(wù)的時候,這位項目經(jīng)理只知道硬性分配,把任務(wù)一個一個地分發(fā)到自己的下屬手上,卻完全沒有考慮過下屬的感受:如下屬是否善于這些工作,是否有其他安排,是否能保證結(jié)果……這些基本沒有考慮,結(jié)果可想而知。
更郁悶的是,大Boss***次請求是通過項目經(jīng)理來安排的,但之后,大Boss就會記下下屬的名字,然后每次直接找同一個下屬完成。于是,同一位下屬身上的任務(wù)可能越積越多,要么降低了工作效率,要么就直接不堪重負。
由此,歸納下來,DNS輪詢作為負載技術(shù)的狀況下,弊端越積越多:
1.無法知道所列的服務(wù)器是否工作,所以用戶獲得的服務(wù)器地址可能已經(jīng)不工作了。
2.缺乏對不同服務(wù)器動態(tài)的分配算法。
3.客戶端會緩存解析結(jié)果,后續(xù)訪問會始終使用舊的IP地址,導(dǎo)致流量分配不均勻。
4.在對業(yè)務(wù)可靠性要求不高的環(huán)境中,DNS輪詢方式因為簡單、低廉,依然還被使用。但對可靠性要求較高的業(yè)務(wù),就不會科學地分配工作,導(dǎo)致后續(xù)出現(xiàn)眾多嚴重問題!
在這樣的情況下,網(wǎng)絡(luò)負載均衡應(yīng)運而生了。
網(wǎng)絡(luò)負載均衡
所謂網(wǎng)絡(luò)負載均衡,從本質(zhì)上講,就是負載均衡會對外部展現(xiàn)一個虛擬的服務(wù)器地址(如192.0.2.1:80),當用戶試圖連接時,它會將連接通過雙向網(wǎng)絡(luò)地址轉(zhuǎn)換(NAT)轉(zhuǎn)到最適合的真實服務(wù)器上,以完成用戶的請求。
網(wǎng)絡(luò)負載均衡的主要核心技術(shù)主要有以下三項:
1.健康檢查。
2.負載均衡算法。
3.會話保持算法。
基于這三個特定技術(shù),網(wǎng)絡(luò)負載均衡以優(yōu)質(zhì)項目經(jīng)理的身份,替代了DNS輪詢。
首先,在整個工作過程中,聰明的網(wǎng)絡(luò)負載均衡會不斷探測后臺服務(wù)器的工作狀態(tài),看看哪位下屬有沒有別的事情,哪位下屬是否狀態(tài)不佳,并根據(jù)檢測到的結(jié)果實時分配任務(wù),避免了大Boss的請求被分配到不工作的服務(wù)器上。
其次,根據(jù)服務(wù)器的流量、性能等,網(wǎng)絡(luò)負載均衡還會以它專有的算法對任務(wù)進行分配。這就好比是一位深諳人力資源利用的頭兒,當他掌握了自己不同下屬的能力后,會因人而異地分配工作,能力強的多擔當,能力弱的任務(wù)少點兒,以達到人力資源的***化。
再次,針對某些特殊應(yīng)用,例如要求自始至終一臺服務(wù)器處理的,網(wǎng)絡(luò)負載均衡將使用會話保持技術(shù),記住每個用戶的身份,以達到讓同一用戶始終在同一臺服務(wù)器上操作的目的。例如在網(wǎng)銀操作中,網(wǎng)絡(luò)均衡服務(wù)器這位聰明的頭兒,會通過用戶IP地址、Cookie等數(shù)據(jù),指定某一位下屬始終為一位用戶服務(wù),包括用戶的登錄、查詢、轉(zhuǎn)賬等等業(yè)務(wù),都始終保持在小弟的這臺服務(wù)器上操作,保證了任務(wù)的順利完成。
換了這么一位聰明的頭兒以后,不但小弟們的工作狀態(tài)可以通過健康檢查得到相關(guān)數(shù)據(jù),而且還能根據(jù)小弟們不同的能力,依靠特定的算法進行任務(wù)的分配,并且對于特定的業(yè)務(wù)需求,可以固定地使用某一位下屬去工作。后臺服務(wù)器得到了***化應(yīng)用,大Boss自然滿意點頭。#p#
可是,好日子沒過多久,問題又出現(xiàn)了。
隨著互聯(lián)網(wǎng)技術(shù)的發(fā)展和用戶量的激增,無論是網(wǎng)絡(luò)帶寬還是硬件設(shè)備的性能都開始大幅提升。但是,在投入大價錢采購硬件設(shè)備后,用戶終端的應(yīng)用效果卻始終不如人意。比如還是時常會出現(xiàn)打開頁面慢、響應(yīng)時間長、系統(tǒng)效率低等多種不良情況。
那么,這又是哪里出了問題呢? 于振波表示,問題主要出現(xiàn)在以下三個方面。
1.跨運營商訪問
國內(nèi)的移動通信分為“北聯(lián)通南電信”的格局,而運營商之間在相互訪問的時候常常會發(fā)生各種效率低下的問題。比如,玩網(wǎng)游時都會有這樣感受,在進入游戲之時,若聯(lián)通用戶誤入電信大廳,就會因為跨運營商造成網(wǎng)速巨慢而很快就會被別的玩家“踢”出去……
2.地域性限制
地域越遠,中間經(jīng)過的節(jié)點越多,造成的損耗就越大,應(yīng)用效果就越差。最明顯的是目前人氣超旺的海淘大軍——打開國內(nèi)的百度騰訊等等網(wǎng)站毫不費勁,一旦進入國外購物網(wǎng)站,頁面速度慢得恨不得能自己直接飛機跑一趟。
3.寬窄帶并存
隨著智能終端的普及,同樣的應(yīng)用,家用電腦和智能手機的訪問效果截然不同。究其原因,家用電腦走寬帶而手機終端用窄帶,并且手機信號是有變化的,當信號不好的時候,即使是直通羅馬的大道也會慢得嘆氣。
由此,傳統(tǒng)路由、交換設(shè)備工作在二三層、負載均衡設(shè)備工作在四層。當二三四層都被被各種問題弄得焦頭爛額之時,應(yīng)用交付產(chǎn)品(ADC)順勢而生。
應(yīng)用交付(ADC)步入快車道
所謂“應(yīng)用交付”,指的是指應(yīng)用交付網(wǎng)絡(luò)(Application Delivery Networking,簡稱ADN),它利用相應(yīng)的網(wǎng)絡(luò)優(yōu)化/加速設(shè)備,確保用戶的業(yè)務(wù)應(yīng)用能夠快速、安全、可靠地交付給內(nèi)部員工和外部服務(wù)群。應(yīng)用交付的宗旨是保證企業(yè)關(guān)鍵業(yè)務(wù)的可靠性、可用性與安全性。
首先,基于內(nèi)容的分發(fā)是應(yīng)用交付的一大突出特性。
基于內(nèi)容的分發(fā),可以舉個這樣的例子。以前,到銀行辦理業(yè)務(wù)還需要自己排隊,后來銀行引入了自動排號機,這種起到了分發(fā)用戶作用的設(shè)備就類似于網(wǎng)絡(luò)負載均衡。雖然這樣的排號可以讓每個人都能按號辦理自己想要的業(yè)務(wù),但是卻難免會出現(xiàn)業(yè)務(wù)分配不合理、無謂等待時間長、主次業(yè)務(wù)相混淆等問題。
后來,經(jīng)過一番改進,銀行推出了大堂經(jīng)理服務(wù),采用“大堂經(jīng)理+排號機”的組合式服務(wù)分配,就與應(yīng)用交付功能頗為類似。用戶取號后,大堂經(jīng)理會先詢問他所需要進行的業(yè)務(wù),然后再按照不同的業(yè)務(wù)指引用戶到不同的窗口進行操作:小額存取款直接到柜員機操作,VIP客戶可到VIP窗口,銀行基金可至基金柜臺咨詢……基于不同內(nèi)容進行業(yè)務(wù)分發(fā),把相同的業(yè)務(wù)指引到固定的服務(wù)器上,這不但大大縮短了用戶的操作時間,更提高了應(yīng)用效率。
與傳統(tǒng)的網(wǎng)絡(luò)負載均衡相比,應(yīng)用交付工作在應(yīng)用層,除了基于內(nèi)容的分發(fā)外,應(yīng)用交付對于負載均衡遇到的幾大問題有著智能化的解決方式。
以太一星晨T-force應(yīng)用交付為例。針對跨運營商訪問問題,T-force應(yīng)用交付平臺可以通過內(nèi)部智能的DNS與智能選路功能,保證用戶不會跨運營商訪問。即電信用戶可以通過電信鏈路實現(xiàn)訪問,而網(wǎng)通來的用戶則可以通過網(wǎng)通鏈路實現(xiàn)訪問。
針對寬窄帶并存的情況,當用戶采用不同的移動終端來訪問數(shù)據(jù)中心核心應(yīng)用時,T-force應(yīng)用交付平臺可以通過智能客戶端識別技術(shù),將移動終端的請求分發(fā)到移動終端的服務(wù)器上,從而保障每一個用戶效率體驗。
針對異地跨區(qū)域訪問問題,T-force擁有智能DNS解決方案。如一個廣東的客戶訪問核心應(yīng)用時會發(fā)起一個DNS請求,該請求會通過分服務(wù)器轉(zhuǎn)發(fā)到應(yīng)用交付設(shè)備上,應(yīng)用交付設(shè)備會根據(jù)不同數(shù)據(jù)中心之間的探測與評估,找出最適合該用戶訪問的數(shù)據(jù)中心,并將該請求DNS解析出的IP地址指向廣州的數(shù)據(jù)中心。如此,便保證了該用戶訪問時候的地域就近性,以及網(wǎng)絡(luò)連通性,有效提升效率。
此外,應(yīng)用交付依靠對應(yīng)用協(xié)議的加速處理、應(yīng)用安全的檢測,實現(xiàn)了從客戶端到服務(wù)器的完整的業(yè)務(wù)交付過程。未來,應(yīng)用交付可能將提供更智能化的功能,并盡可能以***方式交付應(yīng)用的所有方面。