Anycast 和 GeoDNS / GeoIP wrt HA 有什麼區別?
根據 Wikipedia 對Anycast的描述,它既包括跨多個 DNS 伺服器的域名到多 IP 映射的分佈,也包括使用地理位置最接近(或最快)的伺服器回复客戶端。
在像 google.com(或任何具有許多全球邊緣位置的 CDN 服務)這樣的全球分佈式、高可用性站點的上下文中,這聽起來像是人們需要的兩個關鍵功能。
亞馬遜的 Route53、EasyDNS 和 DNSMadeEasy 等 DNS 服務都將自己宣傳為支持 Anycast 的網路。
因此,我的假設是,這些 DNS 服務中的每一個都透明地為我提供了這兩個殺手級功能:多 IP 到域的映射和將客戶端路由到最近的節點。
然而,這些服務中的每一個似乎都將這兩個功能分開,將第二個(將客戶端路由到最近的節點)稱為“GeoDNS”、“GeoIP”或“全球流量總監”,並為服務收取額外費用。
如果一個支持 Anycast 的系統的核心租戶已經這樣做了,為什麼這個功能被指定為這個額外的特性呢?這個“GeoDNS”功能做了什麼標準的 Anycast DNS 服務不會做的(根據維基百科的 Anycast 的定義——我理解廣告的內容,只是不知道為什麼它沒有被暗示)。
當像 Route53 這樣不支持這種模糊的“GeoDNS”功能的 DNS 服務列出以下功能時,我會感到非常困惑:
快速 – Route 53 使用全球 DNS 伺服器的全球任播網路,旨在根據網路條件自動將您的使用者路由到最佳位置。因此,該服務為您的最終使用者提供了低查詢延遲,並為您的 DNS 記錄管理需求提供了低更新延遲。
…這聽起來與 GeoDNS 的意圖完全一樣,但地理上的客戶端是他們明確不支持的東西。
最終,我正在尋找 DNS 提供商的以下兩個功能:
- 將多個 IP 地址映射到單個域名(如 google.com、amazon.com 等)
- 使用 DNS 服務,該服務將使用離被請求者最近的伺服器的 IP 地址響應該域的客戶端請求。
如前所述,這似乎是“任播”DNS 服務(所有這些服務都是)的一部分,但我從他們那裡看到的功能和行銷表明並非如此,這讓我認為我需要更多地了解如何DNS 在做出部署選擇之前工作。
提前感謝您的任何澄清。
GeoDNS 的主要好處是它可以根據請求者的 IP 地址將相同的名稱解析為不同的 IP 地址。
Anycasted DNS 伺服器將返回相同的 IP 地址,無論是誰在進行請求。
兩者在不同的網路層工作。Anycast 低於 GeoDNS,因為它不知道請求者 IP 地址的位置,只知道它在網路圖中的位置。可能靠近 DNS 伺服器的可能不靠近請求的資源,而 Anycasted DNS 伺服器無法分辨這一點。
GeoDNS 使用資源位置圖並執行邏輯來確定哪些資源最接近給定的請求 IP 地址,然後返回該 IP 地址。
除非您將 DNS 伺服器與網路資源並置,否則靠近 DNS 伺服器的內容並不總是靠近資源,因此使用 Anycast 作為數據本地性方法不如直接使用 GeoDNS 有效。