【问题标题】:PHP Working out shortest route to user (quickest?)PHP 找出到用户的最短路径(最快?)
【发布时间】:2011-06-11 16:15:44
【问题描述】:

对,

基本上我需要计算出从服务器到最终用户的最短路径。 我有两台服务器,一台在英国,一台在美国。

我需要根据最终用户的位置确定从哪个服务器加载内容。

我最初想使用 fsock/curl/fgc 并发送一个带有用户 IP 地址的 $_GET 变量,然后(如果使用 tracert)查看哪个输出的跳数最短,以及我是否打算使用 ping ,很明显,看到最小的 ping。这一切都将通过将用户的 IP 地址存储在一个表中来完成,该表中为他们下次加载网页时预先选择了一个位置。

现在随着我的服务器越来越多,这似乎非常不切实际,可能会导致许多痛苦的问题,

所以我的问题是:有没有更实用/简单的方法来完成这个?

干杯!

【问题讨论】:

  • 不能使用CDN
  • 不幸的是,是的。这是因为 CDN 无法真正满足我们的需求,除非我们进行了相当大的扩展。
  • 那基本上不就是一个CDN吗?

标签: php mysql geolocation location


【解决方案1】:

购买地理定位数据库订阅或使用网络服务,然后根据数据库/服务检查他们的 IP。将世界划分为区域,并决定哪个服务器应该为哪些区域服务。

根据您的查找来确定代码,根据其来源国家/地区从哪个服务器提供内容。

不要尝试使用网络跃点或实时跟踪路由来决定,这比简单地从单个服务器提供服务要慢得多。你想多了。

【讨论】:

  • 这是我最初的想法,随着我的扩展,完成本应简单的任务将花费太长时间,非常感谢您的帮助:-)
【解决方案2】:

您可以使用用户 IP 来确定请求的来源国家/地区,并据此分配一个 colo。所以美洲和亚洲去美国,欧洲和非洲去英国。可能需要进行一些测试以确保这是最合适的。 MaxMind 有一个免费的 GeoIP 数据集和软件:http://www.maxmind.com/app/geolitecountry

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2014-08-05
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多