成人AV在线无码|婷婷五月激情色,|伊人加勒比二三四区|国产一区激情都市|亚洲AV无码电影|日av韩av无码|天堂在线亚洲Av|无码一区二区影院|成人无码毛片AV|超碰在线看中文字幕

HttpDNS

全局精確流量調(diào)度新思路-HttpDNS服務(wù)詳解但凡使用域名來(lái)給用戶提供服務(wù)的互聯(lián)網(wǎng)企業(yè),都或多或少地?zé)o法避免在有中國(guó)特色的互聯(lián)網(wǎng)環(huán)境中遭遇到各種域名被緩存、用戶跨網(wǎng)訪問(wèn)緩慢等問(wèn)題。那么對(duì)于騰訊這樣的域

全局精確流量調(diào)度新思路-HttpDNS

服務(wù)詳解

但凡使用域名來(lái)給用戶提供服務(wù)的互聯(lián)網(wǎng)企業(yè),都或多或少地?zé)o法避免在有中國(guó)特色的互聯(lián)網(wǎng)環(huán)境中遭遇到各種域名被緩存、用戶跨網(wǎng)訪問(wèn)緩慢等問(wèn)題。那么對(duì)于騰訊這樣的域名數(shù)量在10萬(wàn)級(jí)別的互聯(lián)網(wǎng)公司來(lái)講,域名解析異常的情況到底有多嚴(yán)重呢?每天騰訊的分布式域名解析監(jiān)測(cè)系統(tǒng)在不停地對(duì)全國(guó)所有的重點(diǎn)LocalDNS 進(jìn)行探測(cè),騰訊域名在全國(guó)各地的日解析異常量是已經(jīng)超過(guò)了80萬(wàn)條。這給騰訊的業(yè)務(wù)帶來(lái)了巨大的損失。為此騰訊建立了專業(yè)的團(tuán)隊(duì)與各個(gè)運(yùn)營(yíng)商進(jìn)行了深度溝通,但是由于各種原因,處理效率及效果均不能達(dá)到騰訊各業(yè)務(wù)部門(mén)的需求。除了和運(yùn)營(yíng)商進(jìn)行溝通,有沒(méi)有一種技術(shù)上的方案,能從根源上解決域名解析異常及用戶訪問(wèn)跨網(wǎng)的問(wèn)題呢?

一、問(wèn)題根源:

要解決問(wèn)題,我們得先得了解下現(xiàn)在國(guó)內(nèi)各ISP 的LocalDNS 的基本情況。國(guó)內(nèi)運(yùn)營(yíng)商LocalDNS 造成的用戶訪問(wèn)異常可以歸為下三類:

1、域名緩存:

域名緩存很好理解,就是LocalDNS 緩存了騰訊的域名的解析結(jié)果,不向騰訊權(quán)威DNS 發(fā)起遞歸,示意圖如下:

,

為何LocalDNS 要把域名解析結(jié)果進(jìn)行緩存呢?原因有以下幾個(gè):

(1)保證用戶訪問(wèn)流量在本網(wǎng)內(nèi)消化:國(guó)內(nèi)的各互聯(lián)網(wǎng)接入運(yùn)營(yíng)商的帶寬資源、網(wǎng)間結(jié)算費(fèi)用、IDC 機(jī)房分布、網(wǎng)內(nèi)ICP 資源分布等存在較大差異。為了保證網(wǎng)內(nèi)用戶的訪問(wèn)質(zhì)量,同時(shí)減少跨網(wǎng)結(jié)算,運(yùn)營(yíng)商在網(wǎng)內(nèi)搭建了內(nèi)容緩存服務(wù)器,通過(guò)把域名強(qiáng)行指向內(nèi)容緩存服務(wù)器的IP 地址,就實(shí)現(xiàn)了把本地本網(wǎng)流量完全留在了本地的目的。

(2)推送廣告:有部分LocalDNS 會(huì)把部分域名解析結(jié)果的所指向的內(nèi)容緩存,并替換成第三方廣告聯(lián)盟的廣告。

這種類型的行為就是我們常說(shuō)的域名緩存,域名緩存會(huì)導(dǎo)致用戶產(chǎn)生以下的訪問(wèn)異常:

A 、僅對(duì)80端口的http 服務(wù)做了緩存,如果域名是通過(guò)https 協(xié)議或其它端口提供服務(wù)的,用戶訪問(wèn)就會(huì)出現(xiàn)失敗。比如支付服務(wù)、游戲通過(guò)指定端口連接connect server服務(wù)等。

B 、緩存服務(wù)器的運(yùn)維水平參差不齊,時(shí)有出現(xiàn)緩存服務(wù)器故障導(dǎo)致用戶訪問(wèn)異常的問(wèn)題。

2、解析轉(zhuǎn)發(fā):

,

除了域名緩存以外,運(yùn)營(yíng)商的LocalDNS 還存在解析轉(zhuǎn)發(fā)的現(xiàn)象。解析轉(zhuǎn)發(fā)是指運(yùn)營(yíng)商自身不進(jìn)行域名遞歸解析,而是把域名解析請(qǐng)求轉(zhuǎn)發(fā)到其它運(yùn)營(yíng)商的遞歸DNS 上的行為。正常的LocalDNS 遞歸解析過(guò)程是這樣的:

而部分小運(yùn)營(yíng)商為了節(jié)省資源,就直接將解析請(qǐng)求轉(zhuǎn)發(fā)到了其它運(yùn)營(yíng)的遞歸LocalDNS 上去了:

這樣的直接后果就是騰訊權(quán)威DNS 收到的域名解析請(qǐng)求的來(lái)源IP 就成了其它運(yùn)營(yíng)商的

IP

,最終導(dǎo)致用戶流量被導(dǎo)向了錯(cuò)誤的IDC ,用戶訪問(wèn)變慢。

3、LocalDNS 遞歸出口NAT :

,

LocalDNS 遞歸出口NAT 指的是運(yùn)營(yíng)商的LocalDNS 按照標(biāo)準(zhǔn)的DNS 協(xié)議進(jìn)行遞歸,但是因?yàn)樵诰W(wǎng)絡(luò)上存在多出口且配置了目標(biāo)路由NAT ,結(jié)果導(dǎo)致LocalDNS 最終進(jìn)行遞歸解析的時(shí)候的出口IP 就有概率不為本網(wǎng)的IP 地址:

這樣的直接后果就是GSLB DNS 收到的域名解析請(qǐng)求的來(lái)源IP 還是成了其它運(yùn)營(yíng)商的IP

,最終導(dǎo)致用戶流量被導(dǎo)向了錯(cuò)誤的IDC ,用戶訪問(wèn)變慢。

二、現(xiàn)有的解決方案及存在的問(wèn)題:

運(yùn)營(yíng)商的LocalDNS 解析域名異常,給對(duì)用戶訪問(wèn)騰訊業(yè)務(wù)的體驗(yàn)造成了非常大的損害。那么我們是如何處理這些域名解析異常的問(wèn)題的呢?

1、實(shí)時(shí)監(jiān)控 商務(wù)推動(dòng):

這種方案是目前騰訊的運(yùn)營(yíng)團(tuán)隊(duì)一直在使用的方案。這種方案就是周期比較長(zhǎng),畢竟通過(guò)行政手段來(lái)推動(dòng)運(yùn)營(yíng)商來(lái)解決這個(gè)問(wèn)題是比較耗時(shí)的。另外我們通過(guò)大數(shù)據(jù)分析,得出的結(jié)論是Top 3的問(wèn)題用戶均為移動(dòng)互聯(lián)網(wǎng)用戶。對(duì)于這部分用戶,我們有什么技術(shù)手段可以解決以上的問(wèn)題呢?

2、繞過(guò)自動(dòng)分配DNS ,使用114dns 或Google public DNS:

,

這個(gè)方案看上去很美好,114dns 是國(guó)內(nèi)最大的中立緩存DNS ,而Google 又是秉承不作惡理念的互聯(lián)網(wǎng)工程帝國(guó)巨鱷,而且騰訊的權(quán)威DNS 又支持

edns-client-subnet 功能,能直接識(shí)別使用Google publicDNS 解析騰訊域名的用戶的IP 地址,不會(huì)出現(xiàn)流量調(diào)度失效。但是問(wèn)題來(lái)了:

(1)如何在用戶側(cè)構(gòu)造域名請(qǐng)求:對(duì)于PC 端的客戶端來(lái)說(shuō),構(gòu)造一個(gè)標(biāo)準(zhǔn)的DNS 請(qǐng)求包并不算什么難事。但在移動(dòng)端要向一個(gè)指定的LocalDNS 上發(fā)送標(biāo)準(zhǔn)的DNS 請(qǐng)求包,而且要兼容各種iOS 和android 的版本的話,技術(shù)上是可行的,只是兼容的成本會(huì)很高。

(2)推動(dòng)用戶修改配置極高:如果要推動(dòng)用戶手動(dòng)修改PC 的DNS 配置的話,在PC 端和手機(jī)客戶端的WiFI 下面還算勉強(qiáng)可行。但是要用戶修改在移動(dòng)互聯(lián)網(wǎng)環(huán)境下的DNS 配置,其難度不言而喻。

3、完全拋棄域名,自建connectcenter 進(jìn)行流量調(diào)度:

如果要采用這種這種方案的話,首先你就得要拿到一份準(zhǔn)確的IP 地址庫(kù)來(lái)判斷用戶的歸屬,然后再制定個(gè)協(xié)議搭個(gè)connect center來(lái)做調(diào)度,然后再對(duì)接入層做調(diào)度改造。這種方案和2種方案一樣,不是不能做,只是成本會(huì)比較高,尤其對(duì)于騰訊這種業(yè)務(wù)規(guī)模如此龐大的公司而言。

三、利用HttpDNS 解決用戶域名解析異常:

既然上面的方案都存在那么多的問(wèn)題,那有沒(méi)有一種調(diào)度精準(zhǔn)、成本低廉、配置方便的基于域名的流量調(diào)度系統(tǒng)呢?答案是肯定的。騰訊公司的GSLB 團(tuán)隊(duì)推出了一種全新的域名解析調(diào)度系統(tǒng):HttpDNS 。HttpDNS 是為移動(dòng)客戶端量身定做的基于Http 協(xié)議和域名解析的流量調(diào)度解決方案,專治LocalDNS 解析異常以及流量調(diào)度不準(zhǔn)。詳細(xì)介紹如下:

(1)HttpDNS 基本原理:

,

HttpDNS 的原理非常簡(jiǎn)單,主要有兩步:

A 、客戶端直接訪問(wèn)HttpDNS 接口,獲取業(yè)務(wù)在域名配置管理系統(tǒng)上配置的訪問(wèn)延遲最優(yōu)的IP 。(基于容災(zāi)考慮,還是保留次選使用運(yùn)營(yíng)商LocalDNS 解析域名的方式)

B 、客戶端向獲取到的IP 后就向直接往此IP 發(fā)送業(yè)務(wù)協(xié)議請(qǐng)求。以Http 請(qǐng)求為例,通過(guò)在header 中指定host 字段,向HttpDNS 返回的IP 發(fā)送標(biāo)準(zhǔn)的Http 請(qǐng)求即可。

(2)HttpDNS 優(yōu)勢(shì):

從原理上來(lái)講,HttpDNS 只是將域名解析的協(xié)議由DNS 協(xié)議換成了Http 協(xié)議,并不復(fù)雜。但是這一微小的轉(zhuǎn)換,卻帶來(lái)了無(wú)數(shù)的收益:

A 、根治域名解析異常:由于繞過(guò)了運(yùn)營(yíng)商的LocalDNS ,用戶解析域名的請(qǐng)求通過(guò)Http 協(xié)議直接透?jìng)鞯搅蓑v訊的HttpDNS 服務(wù)器IP 上,用戶在客戶端的域名解析請(qǐng)求將不會(huì)遭受到域名解析異常的困擾。

B 、調(diào)度精準(zhǔn):HttpDNS 能直接獲取到用戶IP ,通過(guò)結(jié)合騰訊自有專利技術(shù)生成的IP 地址庫(kù)以及測(cè)速系統(tǒng),可以保證將用戶引導(dǎo)的訪問(wèn)最快的IDC 節(jié)點(diǎn)上。

C 、實(shí)現(xiàn)成本低廉:接入HttpDNS 的業(yè)務(wù)僅需要對(duì)客戶端接入層做少量改造,無(wú)需用戶手機(jī)進(jìn)行root 或越獄;而且由于Http 協(xié)議請(qǐng)求構(gòu)造非常簡(jiǎn)單,兼容各

,

版本的移動(dòng)操作系統(tǒng)更不成問(wèn)題;另外HttpDNS 的后端配置完全復(fù)用現(xiàn)有權(quán)威DNS 配置,管理成本也非常低??偠灾?,就是以最小的改造成本,解決了業(yè)務(wù)遭受域名解析異常的問(wèn)題,并滿足業(yè)務(wù)精確流量調(diào)度的需求。

D 、擴(kuò)展性強(qiáng):HttpDNS 提供可靠的域名解析服務(wù),業(yè)務(wù)可將自有調(diào)度邏輯與HttpDNS 返回結(jié)果結(jié)合,實(shí)現(xiàn)更精細(xì)化的流量調(diào)度。比如指定版本的客戶端連接請(qǐng)求的IP 地址,指定網(wǎng)絡(luò)類型的用戶連接指定的IP 地址等。

當(dāng)然各位可能會(huì)問(wèn):用戶將首選的域名解析方式切換到了HttpDNS ,那么HttpDNS 的高可用又是如何保證的呢?另外不同運(yùn)營(yíng)商的用戶訪問(wèn)到同一個(gè)HttpDNS 的服務(wù)IP ,用戶的訪問(wèn)延遲如何保證?

為了保證高可用及提升用戶體驗(yàn),HttpDNS 通過(guò)接入了騰訊公網(wǎng)交換平臺(tái)的BGP Anycast 網(wǎng)絡(luò),與全國(guó)多個(gè)主流運(yùn)營(yíng)商建立了BGP 互聯(lián),保證了這些運(yùn)營(yíng)商的用戶能夠快速地訪問(wèn)到HttpDNS 服務(wù);另外HttpDNS 在多個(gè)數(shù)據(jù)中心進(jìn)行了部署,任意一個(gè)節(jié)點(diǎn)發(fā)生故障時(shí)均能無(wú)縫切換到備份節(jié)點(diǎn),保證用戶解析正常。

四、接入效果及未來(lái)展望:

當(dāng)前HttpDNS 已在騰訊內(nèi)部接入了多個(gè)業(yè)務(wù),覆蓋數(shù)億用戶,并已持續(xù)穩(wěn)定運(yùn)行超過(guò)一年時(shí)間。而接入了HttpDNS 的業(yè)務(wù)在用戶訪問(wèn)體驗(yàn)方面都有了非常大的提升。以某個(gè)接入HttpDNS 的業(yè)務(wù)為例,該業(yè)務(wù)僅通過(guò)接入HttpDNS ,在未做任何其它優(yōu)化的情況下,用戶平均訪問(wèn)延遲下降超過(guò)10,訪問(wèn)失敗率下降了超過(guò)五分之一,用戶訪問(wèn)體驗(yàn)的效果提升非常顯著。另外騰訊的HttpDNS 服務(wù)除了在騰訊內(nèi)部被廣泛使用以外,也受到了業(yè)務(wù)同行的肯定。國(guó)內(nèi)最大的publicDNS 服務(wù)商114dns 在受到騰訊DNS 的啟發(fā)下,也推出了HttpDNS 服務(wù)。

在未來(lái)的日子里,騰訊GSLB 團(tuán)隊(duì)將會(huì)在騰訊內(nèi)部進(jìn)一步推廣HttpDNS 服務(wù),并將在實(shí)際業(yè)務(wù)的需求下對(duì)HttpDNS 服務(wù)進(jìn)行升級(jí),如提供更為通用、安全、簡(jiǎn)單的接入?yún)f(xié)議,進(jìn)一步提升接入用戶的網(wǎng)絡(luò)訪問(wèn)體驗(yàn)等等。希望HttpDNS 能為各位在解決域名解析異常及全局流量調(diào)度失效方面提供一個(gè)簡(jiǎn)單、可行的思路,也

,

歡迎各位業(yè)界同行與騰訊一起,就如何進(jìn)行更精準(zhǔn)的全局流量調(diào)度方面進(jìn)行更為深入的討論。

標(biāo)簽: