如果我有3台服务器,我的网站,我将如何指导用户地理位置正确的地方?
主服务器在澳大利亚,但内容与美国服务器同步。在英国,我到美国服务器的ping次数不到100 As,而澳大利亚的ping次数是300-600 As。
我有什么选择来引导流量到正确的服务器?
谷歌是怎么做到的?
发布于 2009-12-24 17:02:05
IMHO最好的方法是用GeoDNS贴片重新编译绑定。
然后,您可以通过视图来控制客户端,即
查看"north_america“{
match-clients { country_US; country_CA; country_MX; };
zone "example555.com" {type master;file "pri/example555-north-america";};发布于 2010-01-12 19:18:10
谷歌使用的是一种名为"anycast“的技术。他们使用相同的IP分配给世界各地的多台机器。长话短说,最便宜的根据BGP系统,往往最短的路径是使用。
通常,一个IP的多个路径在多归属时被导出.一个以上的ISP进入您的网络,所以有不止一种方法去那里。你走的是最便宜/最快的路。使用anycast,所有事情都是以相同的方式发生的,但是不同的路径会在遥远的地方导致物理上不同的机器,而不仅仅是同一台机器的一条路。对于最终用户来说,这并不重要,因为他们从其中任何一个获得的内容都是相同的。
因为这个技巧需要有一个BGP id和至少一个/24块的地址,这些地址是您无法用于其他任何东西的,所以您可能不会使用它们的解决方案。您可以通过以及其他几家公司将其外包给静态内容。我不知道是否有任何提供商会以这种方式处理动态内容。
您也可以使用诸如MaxMind的GeoIP之类的服务。这可能是最具成本效益的,但您将不得不做一些预先编码,以重定向您的用户基于对IP数据的检查。请注意,他们确实提供了一个免费的数据库,对于国家一级的方向来说,这可能已经足够好了。Disserman的绑定补丁的想法也可能会很好,使用DNS回复直接人,而不是重定向。这可能会使一些非常技术性的用户感到困惑,或者当调试奇怪的问题时,不同的主机认为相同的名称指向不同的位置。
发布于 2009-12-23 16:01:48
后一种方法将起作用,而且实际上被许多服务器使用,但您也可以考虑全局负载平衡,因为这将解决这个问题,并有助于业务连续性。
https://serverfault.com/questions/96971
复制相似问题