互聯網公司,基本都有針對DNS域名解析的優化處理。有些公司甚至會構建本身的智能 DNS 解析系統,來解決 LocalDNS 存在的一系列問題,如域名劫持、調用精度和實時性等。html
現現在,HttpDNS 已經成爲一種比較經常使用優化方案之一。HttpDNS 是基於 http 協議具備 DNS 域名解析能力的一種服務,如今各大雲廠商都已經構建了本身的 HttpDNS 服務。如阿里雲 HttpDNS、騰訊雲 HttpDNS等。python
HttpDNS 的原理很是簡單:api
HttpDNS 將域名解析過程顯式的體現了出來。繞過 LocalDNS 的域名遞歸解析過程,這樣就直接避免了 LocalDNS 的一系列問題。服務器
經過 HttpDNS 原理,能夠看出 HttpDNS 須要高度的可用,很容易成爲整個系統的瓶頸。除此以外,還須要一個高效的域名解析配置管理系統來作域名解析和選優策略的管理。markdown
下面咱們來探討另外一種簡單的實現方式,利用本身可控的 DNS 系統和 dig 命令來實現簡單 HttpsDNS 服務。oop
思路以下:學習
dig @ns服務器 www.baidu.com +subnet=客戶端ip
複製代碼
該方式利用了 DNS 系統的動態調度功能和域名 IP 的管理功能,結合 Http api 服務提供 Http 協議的 DNS 解析能力。繞過了 LocalDNS 的遞歸查詢,解決了 DNS 劫持問題和精度問題。優化
該方式,只是一個簡單的思路探索,其中還有不少細節的問題須要深究。DNS 解析是業務系統的一個強依賴服務,可用性和穩定性不容忽視。阿里雲
好了,今天的分享就到這裏,歡迎留言探討!spa
關注公衆號「碼農吳先生」, 可第一時間獲取最新文章。回覆關鍵字「go」「python」獲取我收集的學習資料,也可回覆關鍵字「小二」,加我 wx 拉你進技術交流羣,聊技術聊人生~