關(guān)于DNS負載均衡技術(shù)
在學(xué)習(xí)負載均衡技術(shù)的時候,我們肯定會學(xué)到DNS負載均衡的相關(guān)內(nèi)容,因為這個是負載均衡的一個代表應(yīng)用。那么說到應(yīng)用,到底是如何進行使用,改善網(wǎng)絡(luò)問題的呢?那么本文就將為大家詳細介紹一下其中的原理。
為了建立一個高負載的Web站點,必須使用多服務(wù)器的分布式結(jié)構(gòu)。上面提到的使用代理服務(wù)器和Web服務(wù)器相結(jié)合,或者兩個Web服務(wù)器相互協(xié)作的方式也屬于多服務(wù)器的結(jié)構(gòu),但在這些多服務(wù)器的結(jié)構(gòu)中,每個服務(wù)器所起到的作用是不同的,屬于非對稱的體系結(jié)構(gòu)。非對稱的服務(wù)器結(jié)構(gòu)中每個服務(wù)器起到的作用是不同的,例如一個服務(wù)器用于提供靜態(tài)網(wǎng)頁,而另一個用于提供動態(tài)網(wǎng)頁等等,這樣就使得網(wǎng)頁設(shè)計時就需要考慮不同服務(wù)器之間的關(guān)系,一旦要改變服務(wù)器之間的關(guān)系,就會使得某些網(wǎng)頁出現(xiàn)連接錯誤,不利于維護,可擴展性也差。
另外一種多服務(wù)器的設(shè)計結(jié)構(gòu)為對稱結(jié)構(gòu),在對稱結(jié)構(gòu)中每臺服務(wù)器都具備等價的地位,都可以單獨對外提供服務(wù)而無須其他服務(wù)器的輔助。然后,可以通過某種技術(shù),將外部發(fā)送來的請求均勻分配到對稱結(jié)構(gòu)中的每臺服務(wù)器上,接收到連接請求的服務(wù)器都獨立回應(yīng)客戶的請求。在這種結(jié)構(gòu)中,將外部請求均勻分配到服務(wù)器上的技術(shù)稱為負載均衡技術(shù),由于建立內(nèi)容完全一致的Web服務(wù)器并不困難,因此負載均衡技術(shù)就成為建立一個高負載Web站點的關(guān)鍵性技術(shù)。
基于DNS負載均衡
最早的負載均衡技術(shù)是通過DNS服務(wù)中的隨機名字解析來實現(xiàn)的。在DNS服務(wù)器中,可以為多個不同的地址配置同一個名字,這個數(shù)據(jù)被發(fā)送給其他名字服務(wù)器,而最終查詢這個名字的客戶機將在解析這個名字時隨機使用其中一個地址?因此,對于同一個名字,不同的客戶機會得到不同的地址,因此不同的客戶訪問的也就是不同地址的Web服務(wù)器,從而達到負載均衡的目的。

例如如果希望使用三個Web服務(wù)器來回應(yīng)對www.exampleorg.org.cn的HTTP請求,就可以設(shè)置該域的DNS服務(wù)器中關(guān)于該域的數(shù)據(jù)包括與下面例子類似的結(jié)果: www1 IN A 192.168.1.1
www2 IN A 192.168.1.2
www3 IN A 192.168.1.3
www IN CNAME www1
www IN CNAME www2
www IN CNAME www3
這里先為每個計算機定義一個真實名字,然后再為它們定義同一個別名。直接針對不同地址設(shè)置同一個真實名字(A記錄)也是可行的,但使用別名的方法易于管理一些。
由于此時反向解析只能針對一臺計算機,那么每個Web服務(wù)器都需要使用ServerName重新定義同一個名字,或者設(shè)置名字解析的順序為hosts文件優(yōu)先,并在hosts文件中定義本身為www,以保證每個服務(wù)器的名字設(shè)置保持一致。
此后外部的客戶機就可能隨機的得到對應(yīng)www的不同地址,那么隨后的HTTP請求也就會發(fā)送給不同地址了。
當使用DNS負載均衡的時候,必須盡量保證不同的客戶計算機能均勻獲得不同的地址。由于DNS數(shù)據(jù)是具備一個刷新時間的標志的,一旦超過這個時間限制過期,其他DNS服務(wù)器就需要和這個服務(wù)器交談以重新獲得地址數(shù)據(jù),就有可能獲得不同IP地址。因此為了使得地址能隨機分配,就應(yīng)該使得刷新時間盡量短,不同地方的DNS服務(wù)器能更新對應(yīng)的地址,使得地址獲得能隨機一些。然而將過期時間設(shè)置的過低將使得DNS流量大增,而造成額外的網(wǎng)絡(luò)問題。出于折衷的考慮,一般將刷新時間設(shè)置為1個小時。
DNS負載均衡的一個問題是一旦某個服務(wù)器出現(xiàn)故障,即使及時修改了DNS設(shè)置,還是要等待足夠的時間(刷新時間)才能發(fā)揮作用,在此期間保存了故障服務(wù)器地址的客戶計算機將不能正常訪問服務(wù)器。盡管存在多種問題,然而它還是一種非常有效的做法,當前使用在包括Yahoo在內(nèi)的很多Web站點上。





















