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