天天看點

《DNS穩定保障系列3--快如閃電,域名解析秒級生效》

在剛剛過去的雙十一,又是一個全民狂歡的盛宴,天貓雙十一的成交量高達2684億。無數小夥伴在淘寶、天貓裡買買買,今年你又剁手了多少?言歸正傳,在你瘋狂秒殺的時候,有沒有發現,今年的購物體驗一如既往的好,通路速度快,購物體驗那個流暢。我在這裡自豪的向大家宣布,我們阿裡雲解析DNS又一次完成了今年雙十一的安保任務!大促的穩定,離不開DNS團隊的默默奉獻。

今天我們來說說DNS服務穩定保障的重要環節--解析生效速度。對于DNS服務提供商來說,解析生效速度是一個關鍵議題,也是衡量系統能力的一個重要名額。目前主流DNS廠商的權威解析伺服器大都采用了全球多地域多機房分布式叢集部署的方式,以達到更低的解析時延,這同時也對解析管控系統的性能和跨地域跨機房的資料同步能力提出了更大挑戰。

對于使用者來說,大量線上服務和異地多活系統的建構是通過DNS來支撐的,更快的解析生效速度意味着更強的系統掌控能力和故障恢複能力,是系統穩定性和容災能力評估的重要一環。讓我從多個次元帶您了解快速生效這個熱點話題。

DNS解析原理

《DNS穩定保障系列3--快如閃電,域名解析秒級生效》

圖: DNS解析原理

總的來說:用戶端發起遞歸DNS請求,遞歸DNS伺服器(大多數情況下為營運商DNS或者公共DNS)如果在TTL時間内有緩存則直接傳回解析結果(1→8),否則會通過疊代查詢請求多級的DNS權威伺服器,并最終将查詢結果傳回給用戶端(1→2→...→7→8),同時緩存本次查詢結果。

雲解析權威解析怎麼保證秒級生效

從DNS解析原理中我們可以看到,遞歸伺服器在TTL時間内會緩存權威域名伺服器的解析結果。是以解析生效包含2個環節:首先域名的權威DNS伺服器必須生效,然後還需要等各地遞歸DNS生效。各地遞歸DNS生效時間可以TTL控制,阿裡雲雲解析作為權威伺服器,付費版TTL可以最小設定為1秒。接下來重點介紹雲解析怎麼保證權威秒級生效。

軟體層面

  • 強大的業務管控系統

雲解析依托阿裡雲内部資源,建構了穩定可靠的業務管控系統,為客戶提供可視化的域名解析管理平台和OpenApi接口。為了避免單使用者瞬時超高頻調用等異常情況對其他使用者造成影響,管控系統采取了租戶隔離的政策:各個使用者域名的解析調用互不影響,系統整體保證隔離性、公平性、可靠性、可控性。同時針對不同業務場景,采取了對應的隔離政策,以保證總體穩定。

對于分布式系統架構,CAP 理論是系統設計中的一個重要理論。也就是在一個分布式系統中,一緻性(Consistency)、可用性(Availability)、分區容錯(Partition tolerance),三者不可得兼。BASE理論是對CAP原則中一緻性和可用性權衡的結果,BASE是指基本可用(Basically Available)、軟狀态( Soft State)、最終一緻性( Eventual Consistency)。其最核心思想是:即使無法做到強一緻性,但每個應用都可以根據自身業務特點,采用适當的方式來使系統達到最終一緻性。阿裡雲雲解析在系統設計上采用此理念:即使某個域名有業務調用洪峰,也能保證該域名最終解析生效。且由于存在租戶隔離政策,其他使用者不會受到影響。

《DNS穩定保障系列3--快如閃電,域名解析秒級生效》

圖: CAP理論

對賬是檢驗上下遊系統間資料最終一緻性的一種保障手段。雲解析建立了各個環節的對賬體系,如果有不一緻的情況發生,會自動觸發報警、自動處理異常,能有效保證解析實時生效以及異常處理自動化。

随着使用者的持續增加,系統穩定性和性能挑戰不容小觑。另外,由于目前分布式系統、微服務化的流行和大規模部署,一次請求往往需要涉及到多個服務。是以需要一個可以幫助了解系統行為、用于分析性能問題的工具,它能夠将跨應用的所有調用鍊性能資訊集中展現,以便發生故障的時候,可以快速定位和解決問題,于此同時,它還可以對每個具體調用階段做耗時分析,進而做針對性優化。阿裡雲雲解析建立了全鍊路監控體系,使系統性能資料化,規範化,針對于監控結果回報,持續壓榨系統極限性能。

此外,管控系統還有很多未讨論的點,比如系統全棧監控、限流、熔斷、降級、異地多活高可用、彈性擴容等,在這裡不再贅述。

  • 高性能權威DNS

    ADNS是阿裡雲自研的高性能權威DNS解析軟體,可以在普通伺服器上,實作千萬級的QPS。雲解析管控系統和ADNS配合,可以将客戶的解析配置,實時同步到在全球部署的權威解析伺服器節點上。

  • 緩存關聯重新整理

    由于阿裡DNS是全鍊路DNS廠商,可以做到權威DNS和遞歸DNS之間使用私有協定通信。當使用者使用阿裡DNS作為DNS托管方,同時使用阿裡公共DNS作為遞歸DNS時,可以很友善的做到緩存關聯重新整理,可以擷取更低的解析生效時延。

硬體層面

  • 高性能伺服器

    雲解析權威采用阿裡定制高性能伺服器,采用軟硬結合的方式解決業務性能極緻、成本最優、高可靠等問題。

  • 專線網絡

    借助集團全球加速能力來進行全球通路提效,同時達到配置下發實時生效。

安全防護

DNS作為網絡基礎設施,經常會受到DDoS攻擊,這會對解析生效時間産生重大影響。DDoS (Distributed Denial of service)攻擊通過僵屍網絡利用各種服務請求耗盡被攻擊網絡的系統資源,造成被攻擊網絡無法處理合法使用者的請求。 通常DDoS防禦技術有清洗和黑洞兩種方式,雲解析綜合利用兩種防禦方式,建立了堅固的安全防護壁壘。付費版提供了2種安全防護等級,保障使用者在遭受攻擊的時候,也有絲滑般流暢體驗。

  • DNS攻擊基本防禦:針對付費版本綁定的所有域名,提供基礎DNS攻擊保護能力,基礎DNS攻擊防禦上限不超過每秒1000萬次,适用于一般情況下的DNS攻擊預防保障。
  • DNS攻擊全力防禦:針對版本綁定的所有域名,提供全面的DNS攻擊保護能力,能承受每秒過億次的DNS攻擊,适用于頻繁受到DNS攻擊時進行全力保護。

SLA

雲解析付費版提供了100%的SLA,建立了實時解析生效監控系統。另外,還通過設定服務基線,定時運作端到端測試用例的方式來監測生效時長,保證秒級生效。

解析生效測試方法

常見的測試域名解析生效的方法有四種:阿裡雲雲解析提供的網頁版域名檢測工具、阿裡巴巴DNS本地檢測工具、測試指令dig或nslookup、撥測工具。具體可見我們的

官方幫助文檔

解析不生效常見原因

  • 域名狀态異常

    域名狀态對解析生效會産生直接影響。注冊商設定暫停解析(clientHold)、 注冊局設定暫停解析(serverHold)、域名到期等都會造成解析不生效。可以使用

    whois工具 排查域名狀态資訊,比如下圖所示域名就是因為域名是注冊商設定暫停解析(clientHold)造成的解析不生效。
《DNS穩定保障系列3--快如閃電,域名解析秒級生效》

圖: Whois結果示例

  • 域名DNS伺服器不是用的阿裡雲DNS

    阿裡雲雲解析權威伺服器的字尾為alidns.com或者hichina.com。如果上述whois資訊顯示域名使用的DNS伺服器(Name server)不是阿裡雲雲解析權威,則需要咨詢域名目前DNS服務商。

  • 域名遞歸解析過程被污染

    由于常用的DNS查詢沒有認證機制、且是利用無連接配接的UDP協定,是以DNS查詢就非常容易被篡改。利用

    阿裡雲域名檢測工具 ,可以自助診斷是否被污染:
《DNS穩定保障系列3--快如閃電,域名解析秒級生效》

圖: 域名檢測到被劫持示例

更多内容,可參考

解析不生效解決方法

解析不生效的解決方法有很多,但都是不是萬能的,還是需要具體問題具體分析。排除域名本身問題以外,常見還有以下解決方案:

  • 檢查防火牆

    檢查防火牆iptables,檢視是否有攔截53端口的相關規則。

  • 重新整理本地DNS緩存

    Windows:ipconfig /flushdns 。 Linux:重新開機nscd服務或者關閉nscd服務後再測試。

  • 更換本地DNS伺服器

    如果本機可以通路公網,可以添加阿裡雲公共DNS(V4:223.5.5.5、223.6.6.6。V6:2400:3200::1 2400:3200:baba::1)

繼續閱讀