總結(jié)DNS服務(wù)器負(fù)載均衡配置的原理及優(yōu)缺點

負(fù)載均衡技術(shù)能夠平衡服務(wù)器集群中所有的服務(wù)器和請求應(yīng)用之間的通信負(fù)載,根據(jù)實時響應(yīng)時間進(jìn)行判斷,將任務(wù)交由負(fù)載最輕的服務(wù)器來處理,以實現(xiàn)真正的智能通信管理和最佳的服務(wù)器群性能,從而使網(wǎng)站始終保持運行和保證其可訪問性。
為了充分利用現(xiàn)有服務(wù)器軟件的種種優(yōu)勢,負(fù)載均衡最好是在服務(wù)器軟件之外來完成。而最早使用的負(fù)載均衡技術(shù)是通過DNS服務(wù)中的隨機(jī)名字解析來實現(xiàn)的。這就是通常所說的DNS負(fù)載均衡技術(shù)。
DNS負(fù)載均衡技術(shù)的實現(xiàn)原理是在DNS服務(wù)器中為同一個主機(jī)名配置多個IP地址,在應(yīng)答DNS查詢時,DNS服務(wù)器對每個查詢將以DNS文件中主機(jī)記錄的IP地址按順序返回不同的解析結(jié)果,將客戶端的訪問引導(dǎo)到不同的機(jī)器上去,使得不同的客戶端訪問不同的服務(wù)器,從而達(dá)到負(fù)載均衡的目的。
DNS負(fù)載均衡的基本原理
1.dns系統(tǒng)本身是一個分布式的網(wǎng)絡(luò),它是相對可靠的,起碼比你網(wǎng)站本身可靠的多
2.dns的最終解釋是可以受我們自己控制的
有了這兩條結(jié)論,剩下的事情就簡單了,我們只需要在最終解釋的查詢結(jié)果上做文章就可以了。簡單來說,就是將你的所有服務(wù)器地址,按照自己需求制定的頻次,返回給用戶。
以github.com為例,我們首先獲取它的SOA服務(wù)器(因為dns緩存查詢服務(wù)器會緩存結(jié)果,如果你直接去查詢域名,會每次返回一樣的結(jié)果),.com的dns域名服務(wù)器也是13臺,它們是[a-m].gtld-servers.net,我們隨便選一臺來找找github.com的SOA
OK,我們獲取了四個SOA服務(wù)器ns[1-4].p16.dynect.net,再隨便選一個來問問github.com對應(yīng)的記錄吧,順便試幾次看看最終的ip地址會不會變化
我們這里查詢了兩次,注意ANSWER SECTION部分返回了兩個結(jié)果,一次是192.30.252.129,一次是192.30.252.128。
這就是利用dns實現(xiàn)了負(fù)載均衡,你的最終訪問會到達(dá)不同的ip地址。
有哪些DNS服務(wù)商支持負(fù)載均衡呢?
這是一種比較高級的服務(wù),一般域名注冊商的dns服務(wù)器不會支持,目前我已知支持它的服務(wù)商有
1.AWS Route 53
2.NSONE
3.Dyn
4.dnspod
其中1和4是我們已經(jīng)在使用的,效果比較理想。
直到現(xiàn)在,很多網(wǎng)站仍然使用DNS負(fù)載均衡來保證網(wǎng)站的運行和可訪問性。從其實現(xiàn)和效果來看,主要有以下優(yōu)缺點:
主要優(yōu)點
這種技術(shù)的主要缺點如下:
第一,技術(shù)實現(xiàn)比較靈活、方便,簡單易行,成本低,適用于大多數(shù)TCP/IP應(yīng)用。不需要網(wǎng)絡(luò)專家來對之進(jìn)行設(shè)定,或在出現(xiàn)問題時對之進(jìn)行維護(hù)。
第二,對于Web應(yīng)用來說,不需要對代碼作任何的修改。事實上,Web應(yīng)用本身并不會意識到負(fù)載均衡配置,即使在它面前。
第三,Web服務(wù)器可以位于互聯(lián)網(wǎng)的任意位置上。
主要缺點
DNS負(fù)載均衡技術(shù)在具有以上優(yōu)點的時候,其缺點也非常明顯,主要表現(xiàn)在:
第一,不能夠按照Web服務(wù)器的處理能力分配負(fù)載。DNS負(fù)載均衡采用的是簡單的輪循負(fù)載算法,不能區(qū)分服務(wù)器之間的差異,不能反映服務(wù)器的當(dāng)前運行狀態(tài)。所以DNS服務(wù)器將Http請求平均地分配到后臺的Web服務(wù)器上,而不考慮每個Web服務(wù)器當(dāng)前的負(fù)載情況。如果后臺的Web服務(wù)器的配置和處理能力不同,最慢的 Web服務(wù)器將成為系統(tǒng)的瓶頸,處理能力強(qiáng)的服務(wù)器不能充分發(fā)揮作用。不能做到為性能較好的服務(wù)器多分配請求,甚至?xí)霈F(xiàn)客戶請求集中在某一臺服務(wù)器上的情況。
第二,不支持高可靠性,DNS負(fù)載均衡技術(shù)沒有考慮容錯。如果后臺的某臺Web服務(wù)器出現(xiàn)故障,DNS服務(wù)器仍然會把DNS 請求分配到這臺故障服務(wù)器上,導(dǎo)致不能響應(yīng)客戶端。
第三,可能會造成額外的網(wǎng)絡(luò)問題。為了使本DNS服務(wù)器和其他DNS服務(wù)器及時交互,保證DNS數(shù)據(jù)及時更新,使地址能隨機(jī)分配,一般都要將DNS的刷新時間設(shè)置的較小,但太小將會使DNS流量大增造成額外的網(wǎng)絡(luò)問題。
第四,一旦某個服務(wù)器出現(xiàn)故障,即使及時修改了DNS設(shè)置,還是要等待足夠的時間(刷新時間)才能發(fā)揮作用,在此期間,保存了故障服務(wù)器地址的客戶計算機(jī)將不能正常訪問服務(wù)器。
總結(jié)
從上面的總結(jié)我們可以看出,總體來說,DNS負(fù)載均衡技術(shù)方案不應(yīng)該算是真正意義上的負(fù)載均衡,不能夠穩(wěn)定、可靠、高效地滿足企業(yè)對Web服務(wù)器的需求,也不能滿足網(wǎng)絡(luò)用戶對網(wǎng)站訪問的及時響應(yīng)和可用性,所以現(xiàn)在很多Web站點方案中,已經(jīng)很少采用這種方案了。
相關(guān)文章
- 用戶在遇到網(wǎng)絡(luò)問題的時候,經(jīng)常會先清除DNS緩存來解決。但最近有朋友們卻遇到無法清除DNS緩存的問題,如何解決這個問題呢?下面一起跟小編來看看吧2016-06-20
Win10系統(tǒng)怎么使用花生殼DDNS端口映射做內(nèi)網(wǎng)穿透?
Win10系統(tǒng)怎么使用花生殼DDNS端口映射做內(nèi)網(wǎng)穿透?什么是內(nèi)網(wǎng)穿透?內(nèi)網(wǎng)穿透就是過端口映射將一臺主機(jī)的內(nèi)網(wǎng)(LAN)IP地址映射成一個公網(wǎng)(WAN)IP地址,讓互聯(lián)網(wǎng)用戶可以訪問2016-06-17Win10怎么清理DNS緩存? Win10快速清理dns緩存的命令
當(dāng)我們遇到電腦突然連不上網(wǎng),很大的原因是dns緩存延時導(dǎo)致的,我們只需要執(zhí)行dns緩存清理命令來更新dns緩存來解決。接下來通過本文給大家介紹Win10快速清理dns緩存的命令2016-05-23Network Solutions的域名購買及DNS解析設(shè)置教程
Network Solutions經(jīng)常推出0.99美元的域名購買優(yōu)惠活動,而且優(yōu)惠包括大量.com頂級域名,吸引了很多用戶,這里就來為大家整理一下Network Solutions的域名購買及DNS解析設(shè)置教2016-05-13- 這篇文章主要介紹了在EuroDns上注冊域名的簡明教程,EuroDNS可提供的域名后綴相當(dāng)豐富,經(jīng)常翻GoDaddy的朋友也不妨去EuroDNS瞅瞅中意的域名~需要的朋友可以參考下2016-04-20
在Dynadot上購買域名及設(shè)置域名解析轉(zhuǎn)移的教程
這篇文章主要介紹了在Dynadot上購買域名及設(shè)置域名解析轉(zhuǎn)移的教程,相比Godaddy和Namecheap,在Dynadot上搶注域名的用戶比較多,需要的朋友可以參考下2016-04-15在Windows Server 2012部署DNS服務(wù)器的教程
這篇文章主要介紹了在Windows Server 2012部署DNS服務(wù)器的教程,文后還附了國內(nèi)常用的幾個公共DNS服務(wù)器的IP地址方便查閱,需要的朋友可以參考下2016-03-07網(wǎng)易蜂巢Docker容器的負(fù)載均衡設(shè)置教程
網(wǎng)易蜂巢中的鏡像支持負(fù)載均衡功能的開啟,可以讓容器與其他服務(wù)器更大程度上發(fā)揮集群優(yōu)勢,且提供的操作面板十分簡潔友好,這里我們就來看一下網(wǎng)易蜂巢Docker容器的負(fù)載均衡2016-06-07阿里云主機(jī)中的云解析負(fù)載均衡相關(guān)設(shè)置
這篇文章主要介紹了阿里云主機(jī)中的負(fù)載均衡相關(guān)設(shè)置,較為詳細(xì)地分析了什么時候該使用負(fù)載均衡,需要的朋友可以參考下2016-02-05windows server 2012怎么配置網(wǎng)絡(luò)負(fù)載均衡?
windows server 2012怎么配置網(wǎng)絡(luò)負(fù)載均衡?winserver 2012可以裝虛擬系統(tǒng)的,我們可以設(shè)置網(wǎng)絡(luò)負(fù)載均衡,具體怎么設(shè)置呢?請看下文詳細(xì)教程2015-12-25