问题描述
||
对,
基本上,我需要确定从服务器到最终用户的最短路径。
我有2台在地理位置上的服务器-一台在英国,一台在美国。
我需要根据最终用户的位置来确定从哪个服务器加载内容。
我最初想到使用fsock / curl / fgc并使用用户的IP地址发送$ _GET变量,然后(如果使用tracert)则查看哪个输出的跳数最短,以及是否要使用ping ,显然是最小的ping。通过将用户的IP地址存储在一个表中(用户在下次加载该网页时会预先选择该位置)中,就可以完成所有操作。
现在,随着我获得越来越多的服务器,这似乎非常不切实际,并可能导致许多痛苦的问题,
因此,我对您的问题是:还有其他实用/简单的方法来完成此操作吗?
干杯!
解决方法
购买地理位置数据库订阅或使用Web服务,然后对照数据库/服务检查其IP。将世界划分为多个区域,并确定哪个服务器应为哪个区域提供服务。
根据您的查找来确定代码,并根据其来源国家/地区来确定从哪个服务器提供内容。
不要尝试使用网络跳或traceroute在线来决定,这比仅从单个服务器提供服务要慢得多。您想得太多了。
, 您可以使用用户IP来确定请求的原籍国,然后根据该国名分配一个色标。因此,美洲和亚洲转到美国站点,欧洲和非洲转到英国站点。可能需要进行一些测试以确保这是最合适的。 MaxMind具有免费的GeoIP数据集和软件:http://www.maxmind.com/app/geolitecountry