什么是HTTPDNS圈暗?
客戶端直接訪問HTTPDNS接口泽铛,獲取業(yè)務(wù)在域名配置管理系統(tǒng)上配置的訪問延遲最優(yōu)的IP。向獲取到的IP發(fā)送業(yè)務(wù)協(xié)議請求北发,以HTTP請求為例纹因,通過在Header中指定Host字段,向HTTPDNS返回的IP發(fā)送標(biāo)準(zhǔn)的HTTP請求即可琳拨。(簡單來講就是之前用域名請求瞭恰,現(xiàn)在用向延遲最低的IP發(fā)送請求)
為什么接入HTTPDNS?
網(wǎng)絡(luò)連接速度提高了50%以上S印>贰!(用了都說好)
省略了耗時較多的DNS解析過程密任,節(jié)省了大量時間颜启。同時也有效的避免了運營商域名劫持問題,網(wǎng)絡(luò)接入成功率大幅提高浪讳。
公司項目使用的是DNSPOD提供的服務(wù)缰盏,當(dāng)然大家也可以使用Tencent提供的HTTPDNS服務(wù)。
直接上干貨
網(wǎng)絡(luò)底層加入HTTPDNS服務(wù)的流程圖如下:
這套架構(gòu)設(shè)計使用了將近半年淹遵,一直保持穩(wěn)定運行口猜。大部分結(jié)構(gòu)比較好理解,關(guān)于流程圖需要補充幾點:
- IP請求可行性驗證開關(guān)
開發(fā)中發(fā)現(xiàn)透揣,如果HTTP請求中間有代理服務(wù)器暮的,那么不能通過指定Host的方式發(fā)IP請求,所以需要驗證一下當(dāng)前網(wǎng)絡(luò)狀態(tài)是否可以通過指定Host的方式發(fā)IP請求淌实。
- 網(wǎng)絡(luò)狀態(tài)發(fā)生變化
此時要獲取最新網(wǎng)絡(luò)情況,并及時更新緩存的域名和IP配對信息猖腕。