久久国产成人av_抖音国产毛片_a片网站免费观看_A片无码播放手机在线观看,色五月在线观看,亚洲精品m在线观看,女人自慰的免费网址,悠悠在线观看精品视频,一级日本片免费的,亚洲精品久,国产精品成人久久久久久久

分享

【鵝廠網(wǎng)事】全局精確流量調(diào)度新思路-HttpDNS服務(wù)詳解

 waitingnothing 2016-11-23

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

一,、問題根源:

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

1、域名緩存:

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

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

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

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

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

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

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

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

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

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

這樣的直接后果就是騰訊權(quán)威DNS收到的域名解析請求的來源IP就成了其它運(yùn)營商的IP,,最終導(dǎo)致用戶流量被導(dǎo)向了錯(cuò)誤的IDC,,用戶訪問變慢。

3,、LocalDNS遞歸出口NAT:

LocalDNS遞歸出口NAT指的是運(yùn)營商的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收到的域名解析請求的來源IP還是成了其它運(yùn)營商的IP,,最終導(dǎo)致用戶流量被導(dǎo)向了錯(cuò)誤的IDC,,用戶訪問變慢。

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

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

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

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

2,、繞過自動分配DNS,,使用114dns或Google public DNS:

這個(gè)方案看上去很美好,114dns是國內(nèi)最大的中立緩存DNS,,而Google又是秉承不作惡理念的互聯(lián)網(wǎng)工程帝國巨鱷,,而且騰訊的權(quán)威DNS又支持edns-client-subnet功能,能直接識別使用Google publicDNS解析騰訊域名的用戶的IP地址,,不會出現(xiàn)流量調(diào)度失效,。但是問題來了:

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

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

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

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

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

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

(1)HttpDNS基本原理:

HttpDNS的原理非常簡單,,主要有兩步:

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

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

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

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

A,、根治域名解析異常:由于繞過了運(yùn)營商的LocalDNS,,用戶解析域名的請求通過Http協(xié)議直接透傳到了騰訊的HttpDNS服務(wù)器IP上,用戶在客戶端的域名解析請求將不會遭受到域名解析異常的困擾,。

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

C,、實(shí)現(xiàn)成本低廉:接入HttpDNS的業(yè)務(wù)僅需要對客戶端接入層做少量改造,無需用戶手機(jī)進(jìn)行root或越獄,;而且由于Http協(xié)議請求構(gòu)造非常簡單,,兼容各版本的移動操作系統(tǒng)更不成問題;另外HttpDNS的后端配置完全復(fù)用現(xiàn)有權(quán)威DNS配置,,管理成本也非常低,。總而言之,,就是以最小的改造成本,,解決了業(yè)務(wù)遭受域名解析異常的問題,并滿足業(yè)務(wù)精確流量調(diào)度的需求,。

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

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

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

四,、接入效果及未來展望:

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

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


    本站是提供個(gè)人知識管理的網(wǎng)絡(luò)存儲空間,,所有內(nèi)容均由用戶發(fā)布,不代表本站觀點(diǎn),。請注意甄別內(nèi)容中的聯(lián)系方式,、誘導(dǎo)購買等信息,謹(jǐn)防詐騙,。如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,,請點(diǎn)擊一鍵舉報(bào)。
    轉(zhuǎn)藏 分享 獻(xiàn)花(0

    0條評論

    發(fā)表

    請遵守用戶 評論公約

    類似文章 更多