成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

你知道 DNS,那我猜你一定不知道 HTTPDNS

網(wǎng)絡(luò) 網(wǎng)絡(luò)管理
DNS 解析有很多問(wèn)題,那怎么辦呢?再回到最初的起點(diǎn):直接 IP 地址?顯然不合適啊。這就引出了 HTTPDNS 。

說(shuō)起 DNS 協(xié)議,相信大家都能說(shuō)出來(lái)幾句,不是很陌生。

它主要做兩個(gè)功能:根據(jù)名稱(chēng)查到具體的地址;針對(duì)多個(gè)地址做負(fù)載均衡,而且可以在多個(gè)地址中選擇一個(gè)距離我最近的地方,讓我訪問(wèn)。

看起來(lái)這種方式無(wú)懈可擊,但其實(shí)也有些問(wèn)題。

[[323995]]

傳統(tǒng) DNS 存在的問(wèn)題

1. 域名緩存問(wèn)題

客戶端想要訪問(wèn)一個(gè)網(wǎng)址的時(shí)候,其實(shí)它首先是去看本地的緩存里面有沒(méi)有這個(gè)地址,如果有就直接訪問(wèn),如果沒(méi)有才會(huì)去詢問(wèn)上級(jí)領(lǐng)導(dǎo)。

但是這個(gè)時(shí)候就會(huì)有個(gè)問(wèn)題:比如在阿粉上高中的時(shí)候,我知道學(xué)校旁邊有個(gè)超好吃的店,后來(lái)阿粉再想吃的時(shí)候,想都沒(méi)想,直接去了那家店,結(jié)果發(fā)現(xiàn)人家關(guān)門(mén)了,當(dāng)時(shí)阿粉的心情是非常失望。

[[323996]]

同樣,本地緩存也會(huì)出現(xiàn)這個(gè)問(wèn)題,有的時(shí)候那個(gè)地址已經(jīng)換掉了,但是因?yàn)楸镜鼐彺嬷杏性瓉?lái)的地址,所以不會(huì)向上一級(jí)詢問(wèn),將你導(dǎo)向原來(lái)的地址,結(jié)果就是訪問(wèn)不到界面,由此帶來(lái)的用戶體驗(yàn)不是很好。

還有個(gè)問(wèn)題:假設(shè)我在北京海淀區(qū),淘寶的應(yīng)用因?yàn)槟撤N原因沒(méi)有在海淀區(qū)設(shè)置數(shù)據(jù)中心,然后我訪問(wèn)的時(shí)候,一直都是將我的訪問(wèn)請(qǐng)求發(fā)送到朝陽(yáng)區(qū)。后來(lái)呢,淘寶在海淀區(qū)增加了數(shù)據(jù)中心,但是當(dāng)我訪問(wèn)的時(shí)候,本地緩存依舊會(huì)將我的請(qǐng)求,導(dǎo)向到朝陽(yáng)區(qū)那邊,這樣造成的結(jié)果就是:

  • 對(duì)于客戶來(lái)說(shuō),讓他繞遠(yuǎn)路了。明明一個(gè)區(qū)域就可以解決的事情,偏偏要跨區(qū)域。就像明明在這里可以買(mǎi)到東西,偏偏讓你跑到另外的地方去買(mǎi),你開(kāi)心嘛?
  • 對(duì)于商家來(lái)說(shuō),也就是淘寶,我設(shè)置了新的數(shù)據(jù)中心,結(jié)果呢,客戶的請(qǐng)求沒(méi)能到這里,那我還費(fèi)錢(qián)費(fèi)力的去做這件事干嘛?又沒(méi)有提高用戶的體驗(yàn),對(duì)不對(duì)。

2. 出口 NAT 問(wèn)題

在網(wǎng)關(guān)那里,很多機(jī)房都會(huì)在出口配置 NAT ( Network Address Translation ),即:網(wǎng)絡(luò)地址轉(zhuǎn)換。

也就是說(shuō),從這個(gè)網(wǎng)關(guān)出去的包,都會(huì)換成新的 IP 地址,當(dāng)請(qǐng)求返回的時(shí)候,在網(wǎng)關(guān)這里,再將 IP 地址轉(zhuǎn)換回去,這樣造成的結(jié)果就是,權(quán)威的 DNS 服務(wù)器,沒(méi)辦法通過(guò)這個(gè)地址,來(lái)判斷用戶到底是來(lái)自哪個(gè)運(yùn)營(yíng)商,而且極有可能因?yàn)檎`判運(yùn)營(yíng)商,導(dǎo)致跨運(yùn)營(yíng)商訪問(wèn),從而導(dǎo)致網(wǎng)速極慢。

3. 解析延遲問(wèn)題

DNS 的查詢過(guò)程,需要遞歸遍歷多個(gè) DNS 服務(wù)器,才能得到最終的解析結(jié)果,這會(huì)帶來(lái)一定的時(shí)延,甚至是解析超時(shí)。

HTTPDNS 的工作模式

DNS 解析有很多問(wèn)題,那怎么辦呢?再回到最初的起點(diǎn):直接 IP 地址?顯然不合適啊。

這就引出了 HTTPDNS 。說(shuō)白了就是,它不走傳統(tǒng)的 DNS 解析,而是走自己搭建基于 HTTP 協(xié)議的 DNS 服務(wù)器集群。這些集群分布在多個(gè)地點(diǎn),當(dāng)客戶端需要 DNS 解析的時(shí)候,直接通過(guò) HTTP 協(xié)議進(jìn)行請(qǐng)求這個(gè)服務(wù)器集群,就可以得到最近的地址。這樣做就相當(dāng)于每個(gè)客戶端都是基于 HTTP 協(xié)議的,自己實(shí)現(xiàn)自己的域名解析,自己做一個(gè)自己專(zhuān)屬的地址簿,而不是使用統(tǒng)一的地址簿。

但是默認(rèn)的域名解析都是走 DNS ,所以如果想要使用 HTTPDNS 的話,就需要繞過(guò)默認(rèn)的 DNS 路徑,這樣就不能使用默認(rèn)的客戶端。

使用 HTTPDNS 的,一般都是手機(jī)應(yīng)用,所以只需要在手機(jī)端嵌入支持 HTTPDNS 的客戶端 SDK 就 OK 了。這樣就可以通過(guò)自己的 HTTPDNS 服務(wù)器和相關(guān)的 SDK ,實(shí)現(xiàn)了從依賴(lài)別人,到自己上網(wǎng)查詢,自己想去哪兒去哪兒,想干什么干什么,豈不是快哉~

[[323997]]

HTTPDNS 工作模式具體可以描述如下:當(dāng)手機(jī)要訪問(wèn)一個(gè)地址的時(shí)候,我會(huì)先看本地緩存里面有沒(méi)有,如果有就直接訪問(wèn),這個(gè)緩存是手機(jī)應(yīng)用自己做的,至于如何更新,何時(shí)更新,那是手機(jī)應(yīng)用的客戶端的事情;如果沒(méi)有的話呢,就需要請(qǐng)求 HTTPDNS 服務(wù)器,在本地 HTTPDNS 服務(wù)器的 IP 列表中,選擇一個(gè)發(fā)出 HTTP 的請(qǐng)求,會(huì)返回一個(gè)要訪問(wèn)的網(wǎng)站的 IP 列表。因?yàn)槭侵苯拥? HTTP 通信,所以 HTTPDNS 服務(wù)器能夠準(zhǔn)確知道這些信息,所以可以做到精準(zhǔn)的全局負(fù)載均衡。

寫(xiě)到這里,這篇文章想要表達(dá)的是兩點(diǎn):

  • 傳統(tǒng)的 DNS 有很多問(wèn)題:比如域名緩存問(wèn)題,出口 NAT 問(wèn)題,解析延遲問(wèn)題
  • 為了解決上述問(wèn)題, HTTPDNS 通過(guò)客戶端 SDK 和服務(wù)端,通過(guò) HTTP 的形式,直接調(diào)用解析 DNS 的方式,繞過(guò)了傳統(tǒng)的 DNS 的這些缺點(diǎn),從而實(shí)現(xiàn)了智能的調(diào)度。

 

 

責(zé)任編輯:趙寧寧 來(lái)源: Java極客技術(shù)
相關(guān)推薦

2020-07-29 07:37:20

Git 修復(fù)項(xiàng)目

2015-10-21 11:09:08

Xcode7調(diào)試神技

2020-06-12 09:20:33

前端Blob字符串

2020-07-28 08:26:34

WebSocket瀏覽器

2019-07-23 15:56:56

Spring Boot部署servlet

2019-07-23 17:52:59

Spring BootJava開(kāi)發(fā)

2011-09-15 17:10:41

2021-02-01 23:23:39

FiddlerCharlesWeb

2022-10-13 11:48:37

Web共享機(jī)制操作系統(tǒng)

2009-12-10 09:37:43

2010-08-23 09:56:09

Java性能監(jiān)控

2025-03-17 00:45:00

JavaScriptAPI頁(yè)面

2020-09-15 08:35:57

TypeScript JavaScript類(lèi)型

2022-11-04 08:19:18

gRPC框架項(xiàng)目

2024-10-21 17:46:54

前端開(kāi)發(fā)

2016-07-22 17:55:07

云計(jì)算

2021-10-17 13:10:56

函數(shù)TypeScript泛型

2015-06-19 13:54:49

2020-08-11 11:20:49

Linux命令使用技巧

2012-11-23 10:57:44

Shell
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號(hào)

主站蜘蛛池模板: 免费精品国产 | 99久久久无码国产精品 | 亚洲日本一区二区 | 亚洲 欧美 综合 | 久久一区二区av | 亚洲精品一区国产精品 | 欧美成年黄网站色视频 | 国产色婷婷 | 久久人| 亚洲视频免费观看 | 又黑又粗又长的欧美一区 | 国产91久久久久蜜臀青青天草二 | 欧美激情亚洲激情 | 91精品久久久久久久久中文字幕 | 午夜网 | 欧美精品一区免费 | 日韩在线视频一区 | 毛片免费观看视频 | 美女黄色在线观看 | 欧美二区三区 | 伊人无码高清 | 秋霞在线一区 | 91精品国产91久久久久久丝袜 | 麻豆精品国产免费 | 91社区在线观看高清 | 黄a网 | 97视频在线观看免费 | 国产精品久久久久久久久久免费看 | 日韩在线小视频 | 免费的色网站 | 欧日韩在线观看 | 亚洲成人免费观看 | 亚洲一区二区三区在线播放 | 亚洲精品中文字幕av | www.成人.com | 亚洲美女一区 | 亚洲国产欧美精品 | 成人免费看片 | 亚洲精品一区二区三区 | 国产高清在线 | 久久久久久久久淑女av国产精品 |