新聞中心
分布式、多活數(shù)據(jù)中心如何實(shí)現(xiàn)DNS域名解析和負(fù)載均衡?
作者:佚名 2017-11-24 09:09:32
服務(wù)器
數(shù)據(jù)中心
分布式 DNS域名解析是B/S應(yīng)用架構(gòu)的一項(xiàng)重要服務(wù),C/S架構(gòu)應(yīng)用一般是通過(guò)IP地址直接訪問(wèn)服務(wù)的。在云計(jì)算時(shí)代,業(yè)務(wù)主要通過(guò)B/S、分布式、多活的架構(gòu)提供。然而對(duì)于網(wǎng)站運(yùn)營(yíng)和服務(wù)提供商來(lái)說(shuō),DNS域名解析的穩(wěn)定可靠,意味著更好的業(yè)務(wù)體驗(yàn),更好更大的訪問(wèn)流量。

彝良ssl適用于網(wǎng)站、小程序/APP、API接口等需要進(jìn)行數(shù)據(jù)傳輸應(yīng)用場(chǎng)景,ssl證書未來(lái)市場(chǎng)廣闊!成為創(chuàng)新互聯(lián)建站的ssl證書銷售渠道,可以享受市場(chǎng)價(jià)格4-6折優(yōu)惠!如果有意向歡迎電話聯(lián)系或者加微信:13518219792(備注:SSL證書合作)期待與您的合作!
今天的話題將帶你從雙活數(shù)據(jù)訪問(wèn)層面,談?wù)動(dòng)蛎馕龊拓?fù)載均衡。
DNS域名解析是B/S應(yīng)用架構(gòu)的一項(xiàng)重要服務(wù),C/S架構(gòu)應(yīng)用一般是通過(guò)IP地址直接訪問(wèn)服務(wù)的。在云計(jì)算時(shí)代,業(yè)務(wù)主要通過(guò)B/S、分布式、多活的架構(gòu)提供。然而對(duì)于網(wǎng)站運(yùn)營(yíng)和服務(wù)提供商來(lái)說(shuō),DNS域名解析的穩(wěn)定可靠,意味著更好的業(yè)務(wù)體驗(yàn),更好更大的訪問(wèn)流量。
隨著云計(jì)算和分布式系統(tǒng)的發(fā)展,DNS在多數(shù)據(jù)中心、分布式應(yīng)用架構(gòu)中負(fù)載均衡和故障轉(zhuǎn)移應(yīng)用中越來(lái)越重要,今天我們對(duì)DNS概念、應(yīng)用和原理進(jìn)行梳理和解析。
DNS是互聯(lián)網(wǎng)上作為域名和IP地址相互映射的一個(gè)分布式數(shù)據(jù)庫(kù)。DNS能夠使用戶更方便的訪問(wèn)網(wǎng)絡(luò)和應(yīng)用,而不用去記憶雜亂、繁瑣的IP數(shù)串。通過(guò)域名,最終得到該域名對(duì)應(yīng)的IP地址的過(guò)程叫做域名解析。下面這張圖,詳細(xì)說(shuō)明了一個(gè)DNS域名解析的全過(guò)程。
1、通常,在電腦打開瀏覽器,輸入一個(gè)域名。比如輸入www.163.com,這時(shí)電腦會(huì)發(fā)出一個(gè)DNS請(qǐng)求到本地DNS服務(wù)器。本地DNS服務(wù)器一般是網(wǎng)絡(luò)接入服務(wù)器商提供,比如中國(guó)電信,中國(guó)移動(dòng)。
2、查詢www.163.com的DNS請(qǐng)求到達(dá)本地DNS服務(wù)器之后,本地DNS服務(wù)器會(huì)首先查詢它的緩存記錄,如果緩存中有此條記錄,就可以直接返回結(jié)果。如果沒有,本地DNS服務(wù)器還要向DNS根服務(wù)器進(jìn)行查詢。
3、根DNS服務(wù)器沒有記錄具體的域名和IP地址的對(duì)應(yīng)關(guān)系,而是告訴本地DNS服務(wù)器,你可以到域服務(wù)器上去繼續(xù)查詢,并給出域服務(wù)器的地址。
4、本地DNS服務(wù)器繼續(xù)向域服務(wù)器發(fā)出請(qǐng)求,在這個(gè)例子中,請(qǐng)求的對(duì)象是.com域服務(wù)器。.com域服務(wù)器收到請(qǐng)求之后,也不會(huì)直接返回域名和IP地址的對(duì)應(yīng)關(guān)系,而是告訴本地DNS服務(wù)器,你的域名的解析服務(wù)器的地址。
5、***,本地DNS服務(wù)器向域名的解析服務(wù)器發(fā)出請(qǐng)求,這時(shí)就能收到一個(gè)域名和IP地址對(duì)應(yīng)關(guān)系,本地DNS服務(wù)器不僅要把IP地址返回給用戶電腦,還要把這個(gè)對(duì)應(yīng)關(guān)系保存在緩存中,以備下次別的用戶查詢時(shí),可以直接返回結(jié)果,加快網(wǎng)絡(luò)訪問(wèn)。
實(shí)際上,因特網(wǎng)上的DNS服務(wù)器也是按照層次安排的。每一個(gè)域名服務(wù)器只對(duì)域名體系中的一部分進(jìn)行管轄。根據(jù)域名服務(wù)器所起的作用,可以把域名服務(wù)器劃分為根域名服務(wù)器、***域名服務(wù)器、權(quán)限域名服務(wù)器和本地域名服務(wù)器四種不同的類型。
根域名服務(wù)器是***層次的域名服務(wù)器,也是最重要的域名服務(wù)器。所有的根域名服務(wù)器都知道所有的***域名服務(wù)器的域名和IP地址。不管是哪一個(gè)本地域名服務(wù)器,若要對(duì)因特網(wǎng)上任何一個(gè)域名進(jìn)行解析,只要自己無(wú)法解析,就首先求助根域名服務(wù)器。所以根域名服務(wù)器是最重要的域名服務(wù)器。假定所有的根域名服務(wù)器都癱瘓了,那么整個(gè)DNS系統(tǒng)就無(wú)法工作。
我們?cè)谂渲肈NS解析的時(shí)候,需要指定DNS解析的TTL(Time To Live)參數(shù),這個(gè)參數(shù)告訴本地DNS服務(wù)器,域名緩存的最長(zhǎng)時(shí)間。用阿里云解析來(lái)舉例,阿里云解析默認(rèn)的TTL是10分鐘,10分鐘的含義是本地DNS服務(wù)器對(duì)于域名的緩存時(shí)間是10分鐘,10分鐘之后,本地DNS服務(wù)器就會(huì)刪除這條記錄,刪除之后,如果有用戶訪問(wèn)這個(gè)域名,就要重復(fù)一遍上述復(fù)雜的流程。
如果網(wǎng)站已經(jīng)進(jìn)入穩(wěn)定發(fā)展的狀態(tài),不會(huì)輕易更換IP地址,我們完全可以將TTL設(shè)置到協(xié)議***值,即24小時(shí)。帶來(lái)的好處是,讓域名解析記錄能夠更長(zhǎng)時(shí)間的存放在本地DNS服務(wù)器中,以加快所有用戶的訪問(wèn)。
分布式、多活數(shù)據(jù)中心對(duì)外提供數(shù)據(jù)服務(wù)時(shí),還會(huì)涉及到另外一個(gè)參數(shù)RTT(Round Trip Time)。分布在物理上A、B隔離兩個(gè)區(qū)域的數(shù)據(jù)中心同時(shí)對(duì)外提供服務(wù)時(shí),客戶的服務(wù)請(qǐng)求是由A數(shù)據(jù)中心,還是由B數(shù)據(jù)中心響應(yīng),這就要看在DNS解析過(guò)程中,決定于解析過(guò)程中那個(gè)訪問(wèn)帶來(lái)的RTT更小。下面一起通過(guò)一個(gè)實(shí)例來(lái)分析下技術(shù)原理。
1、首先客戶端向其所在運(yùn)營(yíng)商的Local DNS發(fā)起www.abc.com域名的DNS請(qǐng)求。
2、運(yùn)營(yíng)商的Local DNS服務(wù)器從RootDNS得知www.abc.com由DNS-CTC、DNS-CNC、DNS-USA1和DNS-USA2來(lái)解析,即RootDNS同時(shí)返回此4個(gè)DNS服務(wù)器地址給Local DNS(DNS的工作原理要求返回所有關(guān)于請(qǐng)求的記錄,在此即返回4個(gè)DNS服務(wù)器,如果只返回一個(gè)DNS而此DNS剛好中斷服務(wù)了,那么Local DNS只能是解析失敗了);
3、Local DNS輪詢向這4個(gè)DNS服務(wù)器發(fā)出域名解析的請(qǐng)求,直到返回?cái)?shù)據(jù)。
4、在此,假如DNS-CTC響應(yīng)Local DNS的域名解析請(qǐng)求,同時(shí)返回2臺(tái)GTM的地址(本地監(jiān)聽的Web服務(wù))。
5、收到Local DNS請(qǐng)求的GTM首先查詢?cè)诒镜厥欠裼性揕ocal DNS的就近性表項(xiàng),如果存在則直接給Local DNS返回速度最快的服務(wù)器地址。如果不存在,則通知另外一臺(tái)GTM發(fā)起對(duì)該Local DNS的查詢。
6、兩臺(tái)DNS分別對(duì)Local DNS進(jìn)行Probe。例如GTM-A查詢?cè)揕ocal DNS的RTT時(shí)間為50ms,而GTM-B查詢同一Local DNS的RTT時(shí)間為100ms,則此時(shí)在兩臺(tái)GTM內(nèi)都形成了該Local DNS的對(duì)應(yīng)就近性表記錄。
7、根據(jù)就近原則,Local DNS請(qǐng)求的GTM-A根據(jù)系統(tǒng)的就近性表返回相應(yīng)的Data Center內(nèi)的Web服務(wù)器地址(即1.1.1.1)。
8、Local DNS獲得地址后,將該地址返回給用戶,到此DNS請(qǐng)求過(guò)程結(jié)束。
9、用戶向www.albc.com(1.1.1.1)網(wǎng)站發(fā)起訪問(wèn)。
分布式、多活數(shù)據(jù)中心中,一個(gè)域名對(duì)應(yīng)兩個(gè)業(yè)務(wù)IP地址,分別部署在兩個(gè)數(shù)據(jù)中心。通過(guò)GSLB或DNS實(shí)現(xiàn)站點(diǎn)間的訪問(wèn)負(fù)載均衡。
GSLB可以采用專用的F5 GTM設(shè)備,如果業(yè)務(wù)量小,也可以采用windows自帶的DNS服務(wù)器,實(shí)現(xiàn)簡(jiǎn)單負(fù)載均衡(輪詢),GSLB跨站點(diǎn)負(fù)載均衡策略通常有兩種。
1. 基于Local DNS請(qǐng)求所在的地理位置。
2. 基于GSLB與Local DNS的RTT最小。
GSLB在整個(gè)網(wǎng)絡(luò)范圍內(nèi)將用戶的請(qǐng)求定向到最近的節(jié)點(diǎn)(或者區(qū)域),主要采用就近性判斷,主要的方法包括DNS、應(yīng)用層重定向、傳輸層重定向等。然而,SLB大多在一個(gè)服務(wù)節(jié)點(diǎn)范圍內(nèi),根據(jù)設(shè)備節(jié)點(diǎn)的健康性、當(dāng)前負(fù)載、服務(wù)能力、分布等情況將用戶的請(qǐng)求分配到一個(gè)具體服務(wù)節(jié)點(diǎn)設(shè)備。
網(wǎng)站題目:分布式、多活數(shù)據(jù)中心如何實(shí)現(xiàn)DNS域名解析和負(fù)載均衡?
當(dāng)前URL:http://www.dlmjj.cn/article/dpgihso.html


咨詢
建站咨詢
