卖逼视频免费看片|狼人就干网中文字慕|成人av影院导航|人妻少妇精品无码专区二区妖婧|亚洲丝袜视频玖玖|一区二区免费中文|日本高清无码一区|国产91无码小说|国产黄片子视频91sese日韩|免费高清无码成人网站入口

HttpDNS

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

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

服務(wù)詳解

但凡使用域名來給用戶提供服務(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)在不停地對全國所有的重點LocalDNS 進行探測,騰訊域名在全國各地的日解析異常量是已經(jīng)超過了80萬條。這給騰訊的業(yè)務(wù)帶來了巨大的損失。為此騰訊建立了專業(yè)的團隊與各個運營商進行了深度溝通,但是由于各種原因,處理效率及效果均不能達到騰訊各業(yè)務(wù)部門的需求。除了和運營商進行溝通,有沒有一種技術(shù)上的方案,能從根源上解決域名解析異常及用戶訪問跨網(wǎng)的問題呢?

一、問題根源:

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

1、域名緩存:

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

,

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

(1)保證用戶訪問流量在本網(wǎng)內(nèi)消化:國內(nèi)的各互聯(lián)網(wǎng)接入運營商的帶寬資源、網(wǎng)間結(jié)算費用、IDC 機房分布、網(wǎng)內(nèi)ICP 資源分布等存在較大差異。為了保證網(wǎng)內(nèi)用戶的訪問質(zhì)量,同時減少跨網(wǎng)結(jié)算,運營商在網(wǎng)內(nèi)搭建了內(nèi)容緩存服務(wù)器,通過把域名強行指向內(nèi)容緩存服務(wù)器的IP 地址,就實現(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ù)器的運維水平參差不齊,時有出現(xiàn)緩存服務(wù)器故障導(dǎo)致用戶訪問異常的問題。

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

,

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

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

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

IP

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

3、LocalDNS 遞歸出口NAT :

,

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

這樣的直接后果就是GSLB DNS 收到的域名解析請求的來源IP 還是成了其它運營商的IP

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

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

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

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

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

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

,

這個方案看上去很美好,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)造一個標(biāo)準(zhǔn)的DNS 請求包并不算什么難事。但在移動端要向一個指定的LocalDNS 上發(fā)送標(biāo)準(zhǔn)的DNS 請求包,而且要兼容各種iOS 和android 的版本的話,技術(shù)上是可行的,只是兼容的成本會很高。

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

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

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

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

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

(1)HttpDNS 基本原理:

,

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

A 、客戶端直接訪問HttpDNS 接口,獲取業(yè)務(wù)在域名配置管理系統(tǒng)上配置的訪問延遲最優(yōu)的IP 。(基于容災(zāi)考慮,還是保留次選使用運營商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 、根治域名解析異常:由于繞過了運營商的LocalDNS ,用戶解析域名的請求通過Http 協(xié)議直接透傳到了騰訊的HttpDNS 服務(wù)器IP 上,用戶在客戶端的域名解析請求將不會遭受到域名解析異常的困擾。

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

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

,

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

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

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

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

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

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

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

,

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

標(biāo)簽: