DNS(Domain Name System)是因特網(wǎng)的一項(xiàng)服務(wù)败晴,它作為域名和IP地址相互映射的一個(gè)分布式數(shù)據(jù)庫(kù)房轿,能夠使人更方便的訪問(wèn)互聯(lián)網(wǎng)粤攒。人們?cè)谕ㄟ^(guò)瀏覽器訪問(wèn)網(wǎng)站時(shí)只需要記住網(wǎng)站的域名即可,而不需要記住那些不太容易理解的IP地址囱持。
在DNS系統(tǒng)中有一個(gè)比較重要的的資源類型叫做主機(jī)記錄也稱為A記錄夯接,A記錄是用于名稱解析的重要記錄,它將特定的主機(jī)名映射到對(duì)應(yīng)主機(jī)的IP地址上纷妆。
如果你有一個(gè)自己的域名盔几,那么要想別人能訪問(wèn)到你的網(wǎng)站,你需要到特定的DNS解析服務(wù)商的服務(wù)器上填寫A記錄掩幢,過(guò)一段時(shí)間后逊拍,別人就能通過(guò)你的域名訪問(wèn)你的網(wǎng)站了。
DNS除了能解析域名之外還具有負(fù)載均衡的功能际邻,下面是利用DNS工作原理處理負(fù)載均衡的工作原理圖:
由上圖可以看出芯丧,在DNS服務(wù)器中應(yīng)該配置了多個(gè)A記錄,如:
www.mysite.com IN A 114.100.80.1;
www.mysite.com IN A 114.100.80.2;
www.mysite.com IN A 114.100.80.3;
因此世曾,每次域名解析請(qǐng)求都會(huì)根據(jù)對(duì)應(yīng)的負(fù)載均衡算法計(jì)算出一個(gè)不同的IP地址并返回缨恒,這樣A記錄中配置多個(gè)服務(wù)器就可以構(gòu)成一個(gè)集群,并可以實(shí)現(xiàn)負(fù)載均衡轮听。
DNS域名解析負(fù)載均衡有如下優(yōu)點(diǎn):
將負(fù)載均衡的工作交給DNS骗露,省去了網(wǎng)站管理維護(hù)負(fù)載均衡服務(wù)器的麻煩。
技術(shù)實(shí)現(xiàn)比較靈活血巍、方便萧锉,簡(jiǎn)單易行,成本低述寡,使用于大多數(shù)TCP/IP應(yīng)用柿隙。
對(duì)于部署在服務(wù)器上的應(yīng)用來(lái)說(shuō)不需要進(jìn)行任何的代碼修改即可實(shí)現(xiàn)不同機(jī)器上的應(yīng)用訪問(wèn)。
服務(wù)器可以位于互聯(lián)網(wǎng)的任意位置鲫凶。
同時(shí)許多DNS還支持基于地理位置的域名解析优俘,即會(huì)將域名解析成距離用戶地理最近的一個(gè)服務(wù)器地址,這樣就可以加速用戶訪問(wèn)掀序,改善性能。
同時(shí)惭婿,DNS域名解析也存在如下缺點(diǎn):
目前的DNS是多級(jí)解析的不恭,每一級(jí)DNS都可能緩存A記錄叶雹,當(dāng)某臺(tái)服務(wù)器下線之后,即使修改了A記錄换吧,要使其生效也需要較長(zhǎng)的時(shí)間折晦,這段時(shí)間,DNS任然會(huì)將域名解析到已下線的服務(wù)器上沾瓦,最終導(dǎo)致用戶訪問(wèn)失敗满着。
不能夠按服務(wù)器的處理能力來(lái)分配負(fù)載。DNS負(fù)載均衡采用的是簡(jiǎn)單的輪詢算法贯莺,不能區(qū)分服務(wù)器之間的差異风喇,不能反映服務(wù)器當(dāng)前運(yùn)行狀態(tài),所以其的負(fù)載均衡效果并不是太好缕探。
可能會(huì)造成額外的網(wǎng)絡(luò)問(wèn)題魂莫。為了使本DNS服務(wù)器和其他DNS服務(wù)器及時(shí)交互,保證DNS數(shù)據(jù)及時(shí)更新爹耗,使地址能隨機(jī)分配耙考,一般都要將DNS的刷新時(shí)間設(shè)置的較小,但太小將會(huì)使DNS流量大增造成額外的網(wǎng)絡(luò)問(wèn)題潭兽。
事實(shí)上倦始,大型網(wǎng)站總是部分使用DNS域名解析,利用域名解析作為第一級(jí)負(fù)載均衡手段山卦,即域名解析得到的一組服務(wù)器并不是實(shí)際提供服務(wù)的物理服務(wù)器鞋邑,而是同樣提供負(fù)載均衡服務(wù)器的內(nèi)部服務(wù)器,這組內(nèi)部負(fù)載均衡服務(wù)器再進(jìn)行負(fù)載均衡怒坯,請(qǐng)請(qǐng)求發(fā)到真實(shí)的服務(wù)器上炫狱,最終完成請(qǐng)求。
參考網(wǎng)站: