我有一个网站和 3 台服务器,分别位于亚洲、欧洲和美国。我是这方面的新手,但我想通过地理位置(如 CDN)实现 ARR 负载平衡。有人知道如何实现它或从哪里开始吗?
答案1
传统意义上的地理负载平衡(有时称为“全局服务器负载平衡”或 GSLB)与 Web 服务器关系不大,而与 DNS 息息相关。您需要一个 DNS 服务器,根据用户的地理位置为其提供所需的 IP。请参阅地理域名系统这是一个用 Perl 编写的简单示例,可以在大多数系统上运行,并使用免费的 IP 位置数据库。还有很多商业解决方案,包括来自以下公司的设备:F5或从以下机构外包服务动态域名系统。
现在,另一种选择是在 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 的任播,但这听起来太复杂了,而且对于您的需求来说太昂贵了。
答案2
请参阅下面的教程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/。
希望这可以帮助 。