尝试为GeoIP查找决定最佳解决方案。
选项似乎是:
1.下载高级数据库并进行查找
2.下载免费数据库并进行查找
3.点击免费的网络API
4.点击付费网络API。
我们将不得不在用户登录时执行此操作,因此会经常发生。
IP地址位置是否发生变化的重要问题,如果发生变化,是否经常发生变化。例如,我们可以使用免费的Web API构建我们自己的数据库,存储它返回给我们的每个IP位置,但只有它们相对持久才可行。
此外,付费数据库我们每个月都会查看一次更新,这取决于这些更改的时间/频率是否足够。
谢谢!
答案 0 :(得分:3)
无法保证某个位置的持久IP如何。实际上有些公司作为IPv4地址的经纪人,因为我们开始对它们进行低价处理。麻省理工学院拥有的18.0.0.0/8可能已经在一个地方工作了30年。其他人可能已经搬了很多。
至于维护某种Web API的地址缓存,我建议不要这样做。如果您执行1:1 IP-> lat / long表,那么您说的总共有2 ^ 32个条目,例如每个50字节= 200GB。显然,这些可以压缩成子网等,但现在你开始做GeoIP公司非常擅长的工作并且具有重要的先声。 Debian附带的免费IP->国家/地区数据库仅在我的计算机上安装了5MB。
从程序员的生产力角度来看,使用客户端库来获取可下载数据库的速度和可靠性将会很困难。
MaxMind拥有IP->国家和IP-> City的免费数据库,但您必须在您的网站/产品上发布通知,例如“此产品包含由MaxMind创建的GeoLite数据,可从http://www.maxmind.com获取”这更像是商业决策而非技术决策。