如果我拥有一个来自美国和欧洲的访客的单一域,并且也有2台服务器,其中一台在美国,一台在英国,那么我该如何强制美国用户访问美国服务器,而英国访客则去访问英国服务器呢?为了减少访客的ping?
首先这可能吗?以及为什么Google之类的公司在每个国家/地区都有不同的域名?
如果我拥有一个来自美国和欧洲的访客的单一域,并且也有2台服务器,其中一台在美国,一台在英国,那么我该如何强制美国用户访问美国服务器,而英国访客则去访问英国服务器呢?为了减少访客的ping?
首先这可能吗?以及为什么Google之类的公司在每个国家/地区都有不同的域名?
Answers:
以及为什么Google之类的公司在每个国家/地区都有不同的域名?
因为这样可以更轻松地为每个国家/地区提供单独的内容。内容应该是静态的-因此,如果您希望将英文页面(例如西班牙页面)编入索引,则它们必须具有单独的url。一种方法是example.com/en
-另一种方法是en.example.com
。后期扩展更好。
首先这可能吗?
不适合你 您需要一个支持任播路由的提供程序。
为此,您需要自己的国际路由IP地址-对于普通用户来说这是不可能的,因为分配的最小块数超过4000个地址(必须使用),而且成本很高。
如果得到一个,您将获得作为AS(自治系统)的路由,并且只发布发布到最近服务器的路由。
所以,不适合你。但是某些主机可能会支持它。
CDN可以做到-因此您绝对可以将静态内容转移到内容交付网络。
您可以做的是国家/地区前缀,然后从主域重定向到它们。
有人提到CDN作为解决方案。您真的不需要那个。您所需要的就是让您域的权威DNS服务器根据给定用户的DNS请求来自何处(以及潜在的当前负载)为给定用户选择最佳服务器。例如,Akamai也是最大的CDN,但提供的产品称为Global Traffic Management,与提供此服务的CDN产品完全分开(收费)。它通过成为您管理的各个域的权威DNS服务器,然后针对传入的DNS请求,然后分发Web服务器的IP地址,正确考虑负载和位置来实现此目的。
如果您的服务器无法处理您的负载(并且您不想购买和管理更多服务器),那就是需要CDN的时候,但这听起来不像是您的问题。
您可以使用任播路由。例如,Google拥有8.8.8.8之类的DNS服务器,根据您所在的位置,它们是不同的服务器。
您还可以将内容交付网络用于静态数据。
每个国家/地区的不同域名为您提供了其他优势,但是,如果所有访问者都使用一个域名,那么这将无济于事。
您需要的是地理负载平衡。这是一个非常艰巨,不平凡的问题。接受的答案不正确。你能行的。我有一段时间看到一个页面,其中包含一个脚本,该脚本可测量用户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。Enterprise软件包支持他们称为“区域路由”的功能,我想这将是您的解决方案。与前面提到的Akamai产品一样,DNS服务足够智能,可以指向地理位置最接近的IP。