我正在研究需要基於IP地址獲取國家/地區代碼的系統,並且需要可以訪問多個服務器上的所有形狀和大小的多個應用程序。捲曲與遠程數據庫Vs本地文件?
目前,這是通過cURL請求獲得一個預先存在的geo.php庫,我認爲這是從MaxMind下載的.dat文件解析國家代碼。顯然,儘管這種方法在重負載下已經遇到問題,可能是由於內存泄漏?沒有人確定。
對我建議我們應該放棄cURLing並從本地地理編碼庫中獲取國家代碼的權力,這些數據也存儲在本地文件中。或者可能是託管在例如Amazon S3上的主文件。當然,我有點擔心在一百個不同的地方有大量的IP到國家的查詢存儲在不必要的地方。
我做的一件事是把數據放在一個mysql數據庫中,並通過連接獲得所需的結果;我不知道,但在我看來,我們的網站通常在連接到集中的mysql數據時快速有效地運行,所以這不是解決這個特定問題的好方法嗎?
我的問題是:以不同方式獲取數據的相對開銷是多少?將它捲入,向遠程數據庫發出請求,從本地文件中獲取它,從其他地方託管的文件中獲取它?很難弄清楚哪一種效率更高或效率更低,以及效率的相對收益是否可能足夠大以至於不重要...
嗯,當前我們正在獲取MaxMind數據並將其存儲在我們組織內的某個位置。如果我們能夠將它保存在一個地方,那麼只需手動更新就相對容易。如果它必須傳播到每個想要使用它的位置,那麼很難保持最新狀態。我們不希望依賴於MaxMind的服務和響應時間,我想,儘管它毫無疑問是好的,所以它找到了讓多個不同站點使用相同的IP解密代碼和數據的最佳方式,我猜... – thesunneversets