传统上所做的地理负载平衡(有时称为“全球服务器负载平衡”或 GSLB)与 Web 服务器关系不大,而与 DNS 关系密切。您需要一个 DNS 服务器,它可以根据人们的地理位置为他们提供他们想要的 IP。请参阅pGeoDNS以获取一个用 Perl 编写的简单示例,该示例将在大多数系统上运行,并使用免费的 IP 位置数据库。还有很多商业解决方案,包括来自F5等人的设备,或来自DynDNS等人的外包服务。
现在,另一种选择是在 IIS 层进行重定向。您在 DNS 中发布“www.example.com”,将您的所有三个位置作为可能的答案。然后,当用户连接时,您可以根据在每个 Web 服务器上托管的 Geo-IP 数据库中的快速查找重定向到“www.us.example.com”或“www.eu.example.com”。您可能应该设置一个 cookie 或其他东西,以防止每次都必须进行该查找。如果说“www.eu.example.com”已关闭,您还需要不会进行重定向的监视器。您也可以使用访问者“Accept-Language”标头中的信息,或许可以使用他们的 IP 创建一个综合分数,指示用户应该被重定向到哪里。
您当然可以组合这些方法,或者做一些更性感的事情,比如 DNS 甚至 HTTP 的任播,但听起来这对于您的需求来说太复杂和昂贵了。
请参阅下面的教程http://learn.iis.net/page.aspx/486/http-load-balancing-using-application-request-routing/更多信息你可以去这里http://weblogs.asp .net/owscott/archive/2012/04/19/google-and-geo-location-cnds-dns-load-balancing-week-50.aspx其中准确解释了您想要完成的任务以及整个系列(它免费!)您可以访问此处http://dotnetslackers.com/projects/LearnIIS7/。
希望这可以帮助 。
传统上所做的地理负载平衡(有时称为“全球服务器负载平衡”或 GSLB)与 Web 服务器关系不大,而与 DNS 关系密切。您需要一个 DNS 服务器,它可以根据人们的地理位置为他们提供他们想要的 IP。请参阅pGeoDNS以获取一个用 Perl 编写的简单示例,该示例将在大多数系统上运行,并使用免费的 IP 位置数据库。还有很多商业解决方案,包括来自F5等人的设备,或来自DynDNS等人的外包服务。
现在,另一种选择是在 IIS 层进行重定向。您在 DNS 中发布“www.example.com”,将您的所有三个位置作为可能的答案。然后,当用户连接时,您可以根据在每个 Web 服务器上托管的 Geo-IP 数据库中的快速查找重定向到“www.us.example.com”或“www.eu.example.com”。您可能应该设置一个 cookie 或其他东西,以防止每次都必须进行该查找。如果说“www.eu.example.com”已关闭,您还需要不会进行重定向的监视器。您也可以使用访问者“Accept-Language”标头中的信息,或许可以使用他们的 IP 创建一个综合分数,指示用户应该被重定向到哪里。
您当然可以组合这些方法,或者做一些更性感的事情,比如 DNS 甚至 HTTP 的任播,但听起来这对于您的需求来说太复杂和昂贵了。