为其存储ip地址或地理数据


storing ip address or geo data for it

前注

这是一个用PHP/etc/编写的web应用程序


这将是一个关于解决这个问题的最佳实践/最有效方法的修辞问题。

基本上,我接到了一个小任务。每个发布到该应用程序的帖子都需要发布者IP地址的地理信息。我问这个问题的原因是,这个应用程序有可能以指数级、非常快的速度增长,我不希望像这样愚蠢的瓶颈导致任何问题。

我想了两个可能的选项来处理获取GEO信息(基于IP地址(,如下所示。

  • 存储IP地址并根据IP地址信息运行它

上面的例子类似于:

$ip = '127.0.0.1'; // derp
$url = "http://api.ipinfodb.com/v3/ip-city/?key=API_KEY&format=json&ip=". $ip; // or other api's, etc...
$info = file_get_contents($url); // or use curl etc..
$data = json_decode($info);
//....itterate through results of $data and use as required

还是最好的

  • 在提交帖子时,运行api调用以获取所述ip地址的地理位置,然后将所需信息与帖子一起存储在数据集中

示例:

id | post_id | ip | lat | long | country | state | zip | .....etc

或者有没有其他方法可以让你做到?接受您的任何建议:(

为了结束这个问题,我使用了RabbitMQ,正如zerkms在他的评论中所说的那样。

从本质上讲,将其包装在一点自定义代码中,并按以下方式存储:

id | post_id | ip | lat | long | country | state