我怎么能强迫美国的用户去美国的服务器和英国的访问者去英国的服务器

如果我有来自美国和欧洲的访问者的单个域名,并且还有2个服务器,一个位于美国,一个位于英国,那么我怎么能强迫美国用户到美国服务器和英国访问者去英国服务器为了减less访客的ping?

首先这是可能的? 而为什么像谷歌这样的公司在每个国家都有不同的域名?

而为什么像谷歌这样的公司在每个国家都有不同的域名?

因为它使得每个国家都有独立的内容。 内容应该是静态的 – 所以如果你想要英语,例如西class牙语页面被索引,他们必须有单独的url。 一种方法是example.com/en – 另一种是en.example.com 。 后者规模更好。

首先这是可能的?

不适合你。 您需要支持任播路由的提供商。

要自己做,你需要自己的国际路由IP地址 – 这是不可能得到一个正常的用户,因为最小的块分配超过4000个地址(你必须使用),成本高。

如果你得到一个你会得到作为一个AS(自治系统)的路由,并发布路由到最近的服务器。

所以,不适合你。 但有些主机可能会支持它。

CDN就是这么做的 – 所以你可以把你的静态内容移到内容交付networking。

可以做的是国家前缀,然后从主域redirect到他们。

+1任播路由为“真正的解决scheme”。

更简单的select是在每个大洲提供不同的DNSlogging。 亚马逊出售这个作为基于延迟的路由,但我认为其他大型DNS提供商提供类似的工具。

有人提到CDN是解决scheme。 你真的不需要这个。 您所需要的只是为您的域的授权DNS服务器根据DNS请求的来源(以及潜在的负载)来为给定用户select最佳服务器。 例如,Akamai同时也是最大的CDN,提供一种名为“ 全球stream量pipe理”的产品,与提供这项服务的CDN产品完全分开(收费)。 它通过成为您所pipe理的各个域的授权DNS服务器来完成这个任务,然后对于传入的DNS请求,然后发送您的Web服务器的IP地址,正确地计算负载和局部性。

如果你的服务器不能处理你的负载(你不想再购买和pipe理),那就是当你想要一个CDN时,但听起来不像是你的问题。

您可以使用任播路由。 例如,Google有8.8.8.8这样的DNS服务器,根据你的位置,这些服务器是不同的服务器。

您也可以为您的静态数据使用内容交付networking。

每个国家/地区的不同域名为您提供了其他优势,但如果您的所有访问者都使用一个域名,则这不会对您有所帮助。

您还可以查看基于位置邻近度的负载平衡。 或者查看像Fastly这样的交付加速器。

你需要的是地理负载平衡 。 这是一个非常困难,不平凡的问题。 接受的答案是不正确的。 你能行的。 有一个页面,我看了一会儿脚本,测量用户ping并将它们发送到最近的服务器。 我想是这样: http : //www.austintek.com/LVS/LVS-HOWTO/HOWTO/LVS-HOWTO.geographically_distributed.html

此外,F5 Networks销售地理负载平衡路由器,但价格昂贵。

您可以使用DNS服务器,将来自每个地区的访问者带到不同的计算机。

可能重复的问题是: 有没有支持地理位置/定向DNS的DNS?

你也可以看看http://www.neustar.biz/services/dns-services/managed-dns-packages 。 企业软件包支持他们所谓的区域路由,这将是你的解决scheme,我猜。 与之前提到的Akamai提供的一样,DNS服务足够智能,可以指向最接近地理位置的IP。

如果您正在寻找负载分担解决scheme,那么我会推荐基于云的托pipe/云服务提供商。

云托pipe服务器的devise方式与您通过路由到最近的主机群集所需的方式完全相同。

希望这可能有助于某种方式。