解說DNS負(fù)載均衡
域名解析是我們?yōu)g覽網(wǎng)絡(luò)的基礎(chǔ),也是網(wǎng)絡(luò)建立發(fā)展的基石。那么如何對(duì)龐大的域名解析系統(tǒng)進(jìn)行管理和優(yōu)化呢?我們可以使用負(fù)載均衡技術(shù),通過這種技術(shù)的調(diào)和,使DNS更加合理化。那么具體的相關(guān)內(nèi)容讓我們一起看文中是如何解釋的吧。
一、解析負(fù)載均衡
a、最早實(shí)現(xiàn)負(fù)載均衡功能的可能是DNS機(jī)制。
DNS配置中,有多個(gè)IP地址對(duì)應(yīng)同一個(gè)域名時(shí),DNS服務(wù)器就用Round Robin算法(輪詢)把某一個(gè)IP地址返回給用戶,從而在一定程度實(shí)現(xiàn)了負(fù)載均衡。
b、類F5BIG-IP(3DNS)設(shè)備
可以將這類設(shè)備看做”硬件的DNS服務(wù)器“,用戶要訪問的域名由BIG-IP/3DNS負(fù)責(zé)解析。這個(gè)域名對(duì)應(yīng)一組IP(或者叫IPPool),BIG-IP通過各種負(fù)載均衡策略,給用戶返回不同的IP地址,一般是返回用戶就近的地址,同時(shí)實(shí)現(xiàn)負(fù)載均衡。
二、4、7層交換負(fù)載均衡
a、***類為負(fù)載均衡交換機(jī),就是常說的4、7層交換機(jī),像Alteon、Arrowpoint和Foundry等。簡(jiǎn)單說來,有負(fù)載均衡功能的交換機(jī)是把傳統(tǒng)的2、3層交換的功能擴(kuò)展到更高層(其實(shí)就是既分析IP包頭,又看包里的內(nèi)容)。通常,因?yàn)榛诮粨Q的設(shè)備沒有什么代碼,又是基于ASIC的,所以交換機(jī)會(huì)提供較好的性能和較高的可靠性。
b、第二類為基于PC服務(wù)器的產(chǎn)品,像F5、Radware和Intel等,這類產(chǎn)品在吞吐量和并發(fā)上會(huì)有性能的瓶頸。
c、第三類為基于服務(wù)器端的軟件代理工具,這類產(chǎn)品是運(yùn)行在每臺(tái)服務(wù)器上的特殊軟件,如LVS(4/7層),Haproxy(7層)等。由于軟件是依賴于平臺(tái)的,當(dāng)服務(wù)器上裝有別的軟件時(shí),可能會(huì)在可靠性及其他性能上有所下降。
三、趨勢(shì)
前面介紹的全是在本地如何做到負(fù)載均衡。現(xiàn)在明顯的趨勢(shì)是:比較大的站點(diǎn)都是由跨網(wǎng)絡(luò)、跨地域的許多服務(wù)器組成的。形成這種局面的主要原因有2個(gè),一個(gè)是高可靠性。當(dāng)我們?cè)谝粋€(gè)地點(diǎn)采用負(fù)載均衡等技術(shù)后,在該地的工作我們已經(jīng)做得很好了,但問題是如果這個(gè)地方的訪問量大到超過設(shè)計(jì)容量、托管數(shù)據(jù)中心的Internet接入慢了或斷了,那我們的站點(diǎn)就會(huì)受到影響。另一個(gè)是使客戶能更快地訪問到信息。我們?cè)诜?wù)器端做了許多工作,響應(yīng)能力很強(qiáng)。但由于Internet的延時(shí),對(duì)客戶的響應(yīng)時(shí)間還有可能太長(zhǎng)。中國(guó)如何做到跨網(wǎng)絡(luò)、跨地域的服務(wù)器之間負(fù)載均衡呢?使用全球負(fù)載均衡Global Server Load Balance,GSLB)技術(shù)就可以做到。前面,我們?cè)榻B了用DNS做負(fù)載均衡,但采用DNS的缺陷在于它不能讓用戶去訪問最近、最快的服務(wù)器。GSLB如何做到這一點(diǎn)呢?全球平衡設(shè)備就充當(dāng)授權(quán)域名服務(wù)器的角色。它們互相通訊,根據(jù)各種參數(shù)智能地選擇某個(gè)站點(diǎn),答復(fù)本地DNS,而不是機(jī)械地給出列表上的下一個(gè)IP地址。
用DNS框架解決GSLB有2個(gè)問題。首先,DNS解析會(huì)占用較長(zhǎng)的時(shí)間,使對(duì)最終用戶的響應(yīng)時(shí)間變長(zhǎng)。因?yàn)镈NS的體系就是層次的,一般請(qǐng)求都要經(jīng)過幾個(gè)域名服務(wù)器后才會(huì)到達(dá)授權(quán)域名服務(wù)器,從而得到應(yīng)答。其次,不同的GSLB產(chǎn)品使用不同的準(zhǔn)則來確定客戶端最終訪問的服務(wù)器。通常,全球平衡設(shè)備是根據(jù)本地DNS的信息確定該選中哪個(gè)服務(wù)器。實(shí)際上,全球平衡設(shè)備見不到真正的客戶端,只能見到轉(zhuǎn)發(fā)解析請(qǐng)求的本地DNS。
用DNS框架解決GSLB的一個(gè)好處是可以平衡各種類型的流量。如果是HTTP應(yīng)用,GSLB產(chǎn)品可以用HTTP的重定向來確定提供服務(wù)的服務(wù)器,加速響應(yīng)。客戶端的請(qǐng)求發(fā)到全球負(fù)載均衡設(shè)備上,由全球負(fù)載均衡設(shè)備再把請(qǐng)求用HTTP重定向發(fā)到恰當(dāng)?shù)姆?wù)器上。這種方式的優(yōu)點(diǎn)在于:首先,負(fù)載均衡設(shè)備直接與客戶端鏈接,這樣在重定向時(shí)可以有準(zhǔn)確的信息來判斷。其次,HTTP的重定向會(huì)節(jié)省時(shí)間。因?yàn)樵谶@種方式下,只需要建立2個(gè)TCP鏈接,一個(gè)是從客戶端到負(fù)載均衡設(shè)備,另一個(gè)是從負(fù)載均衡設(shè)備到真正提供內(nèi)容的服務(wù)器。而DNS方式需要建立3個(gè)鏈接,一個(gè)是從本地DNS到平衡設(shè)備,一個(gè)是從平衡設(shè)備到客戶端,還有一個(gè)是從客戶端到真正提供內(nèi)容的服務(wù)器。HTTP重定向的缺陷是很明顯的:它只能平衡HTTP包,不能平衡FTP等流量,更別說音頻、視頻了。
無論用哪種方法解決GSLB,都要確定到底是由哪個(gè)服務(wù)器最終響應(yīng)客戶請(qǐng)求。一般說來有5個(gè)準(zhǔn)則:接近程度、響應(yīng)時(shí)間/延時(shí)、丟包情況、本地服務(wù)器的負(fù)載和本地服務(wù)器的健康情況。前3個(gè)衡量網(wǎng)絡(luò)鏈路的性能,剩下的2個(gè)表示單個(gè)服務(wù)器的性能和狀態(tài)。
大多數(shù)情況下,平衡設(shè)備都用客戶本地的DNS服務(wù)器與應(yīng)用服務(wù)器之間路由器的跳數(shù)表示接近程度。由于Cisco獨(dú)特的技術(shù),它可以根據(jù)BGP、IGP和OSPF等協(xié)議獲得網(wǎng)絡(luò)拓?fù)湫畔⒑吐酚尚畔ⅲ瑥亩弥膫€(gè)應(yīng)用服務(wù)器離客戶端的本地DNS最近。另外一些產(chǎn)品允許手動(dòng)設(shè)定接近程度。這個(gè)手段使得人們可以設(shè)定策略來限制某些流量流入到特定的網(wǎng)絡(luò)上,比如由于國(guó)際鏈路很貴,能在國(guó)內(nèi)訪問的請(qǐng)求就可以限定在國(guó)內(nèi)。






















