Apache-2.2

在多個國家/地區託管網站

  • December 26, 2012

我們的網站目前託管在英國,我們在 www.google.co.uk 上的搜尋引擎定位非常好。為了在美國取得同樣的成功,我們的網站必須在美國託管。

我對此有一些疑問。

1)我如何設置DNS,以便美國流量知道去更近的伺服器?

2)我們的網站還沒有經歷過大量的負載,所以目前,美國伺服器是否會將請求反向代理到我們的英國伺服器?

3)或者我們是否會設置某種腳本來同步兩台伺服器上的數據庫?

  1. 基於地理位置的 DNS
  • 您可以執行綁定並使用GeoDNS 對其進行修補,以根據請求者的位置返回不同的 IP。
  • 自己執行 DNS 的替代方法是使用提供商,讓您根據使用者的位置指定 IP。例如:地理縮放
  1. 反向代理
  • 你可以反向代理它。不過可能會慢一些。
  1. 數據庫
  • 數據庫的同步取決於您託管的應用程序類型。

問題 2 和 3 在很大程度上取決於您的申請。問題1,理論上可以這樣實現:

  1. 為該伺服器設置美國伺服器和相應的 DNS 伺服器(單獨)。
  2. 為所有 DNS 伺服器提供相同的 IP 地址,包括您在英國的伺服器——這種技術被稱為Anycast (並廣泛用於 DNS) 。
  3. 請求您的網路或託管服務提供商通過 BGP 公佈到您的 DNS 伺服器的路由,以便您的機器可以訪問。根據您的託管設置,這裡可能會有一些無法預料的警告。
  4. 將每個 DNS 伺服器配置為提供最接近它的站點的 IP 地址,例如讓美國 DNS 伺服器為 US/.com 伺服器提供地址,而英國 DNS 為 UK/.co.uk 伺服器提供地址。
  5. 由於 Anycast,通常總是使用最近的 DNS 伺服器,因此將返回最近伺服器的 IP 地址。

進一步的考慮:

  • 如果您要完全複製您的網站,這還具有將 .co.uk 域的美國訪問者指向更近的伺服器,以及將 .com 域的英國訪問者指向歐洲伺服器的優勢(假設您有一個ServerAlias或其他虛擬主機設置)。
  • 另請注意,如果您無法讓您的網路提供商為您宣布路線,這不是一個可行的解決方案。在託管託管方案中請求可能非常困難,或者需要您的託管公司提供專門的資源。
  • 另一個注意事項是,Anycast 是面向連接協議的不可靠設置,但非常適合 DNS 等 UDP 流量。

引用自:https://serverfault.com/questions/198647