我们的网站目前托管在英国,在 www.google.co.uk 上的搜索引擎排名非常好。为了在美国取得同样的成功,我们的网站必须托管在美国。
我对此有几个疑问。
1)如何设置 DNS 以便美国流量知道要转到更近的服务器?
2) 我们的网站尚未经历大量负载,因此暂时而言,美国服务器是否会将请求反向代理到我们的英国服务器?
3)或者我们应该设置某种脚本来同步两台服务器上的数据库?
答案1
答案2
问题 2 和 3 在很大程度上取决于您的应用。问题 1 理论上可以这样实现:
设置美国服务器以及该服务器对应的DNS服务器(单独的)。
为所有 DNS 服务器分配相同的 IP 地址,包括您位于英国的服务器 - 这种技术被称为(并广泛用于 DNS)任播。
请求您的网络或托管提供商通过 BGP 公布到您的 DNS 服务器的路由,以便您的机器可以访问。根据您的托管设置,这里可能会有一些无法预料的警告。
配置每个 DNS 服务器以提供最接近其站点的 IP 地址,例如让美国 DNS 服务器提供美国/.com 服务器的地址,让英国 DNS 服务器提供英国/.co.uk 服务器的地址。
由于 Anycast,通常总是会使用最近的 DNS 服务器,因此会返回最近服务器的 IP 地址。
进一步考虑:
如果您要完全复制您的网站,这也具有将美国访问者指向更近的.co.uk 域的优势,以及将英国访问者指向欧洲的.com 域的优势(假设您有
ServerAlias
或其他虚拟托管设置)。还请注意,如果您无法让网络提供商为您公布路由,那么这不是一个可行的解决方案。在托管方案中,请求可能非常困难,或者需要托管公司的专门资源。
需要注意的是,Anycast 对于面向连接的协议来说是一种不可靠的设置,但非常适合 DNS 等 UDP 流量。
答案3
对于问题 1,有很多工具可以帮助你确定用户的相对位置:http://www.google.com/search?q=geolocation+ip
就代理与同步而言,我不确定 Google 是否对目标服务器的物理位置敏感,并且怀疑只要域名在访问网站时不会更改,您就可以将两者都指向同一目的地。
答案4
更简单 :
1/ 在世界各地的多家网站托管/云提供商处租赁服务器
2/ 安装 Varnish :)
3/ 使用负载平衡工具(Cedexis、Dyn 等)平衡缓存服务器网络的流量。您可以选择将 Google IP 重定向到您的本地缓存服务器。
在此配置中,流量将发送到您的美国本地缓存服务器。这非常简单,并且可以帮助 Google 爬虫 ;-)
它已经过测试并获批准。