0

現在、私のフローは次のようになっています。

Nginx (Proxy) -> Apache -> PHP

どういうわけか元の国をphpで利用できるようにする必要があります。

最も問題のない方法は、ブラウザーがユーザーの国を確実に報告することです。これが事実であるかどうか誰かが知っていますか?

さらに、MaxMind GeoIP のようなものも機能しますが、ボトルネックになることはできません。

nginx geoip プラグインまたは apache geoip プラグインをインストールできますが、ここでの懸念は安定性です。このプラグインがクラッシュすると、それぞれ nginx または apache を完全に殺す可能性があるようです。

geo-ip-lookupsが機能していない場合にプロセスをブロックしないように、1秒未満のタイムアウトを使用してphpを外部プロセスに接続するのが最善の方法だと思います....しかし、ここでも、私はPHP を別のプロセスに到達させることがどれほど効率的か、または到達させるための最良の方法がわかりません。

これらのルックアップを毎秒 10 回処理できる必要があります...

私にとって最もスケーラブルな方法は、geoip データベースを mysql にロードすることであると思われます。これは十分に信頼できるので、それが利用できなくなり、サイト全体がダウンすることについて過度に心配する必要はありません....私の推測ではC コードによって読み取られる MaxMind geoip 形式は、この方法よりも効率的である可能性があります。

4

1 に答える 1

1

Apache 用の MaxMind プラグインは非常に堅牢です。私は、1 日あたり数千万の一意を処理するサーバーで実行しましたが、問題ありません。また、非常にシンプルで役立ちます。ルックアップとリターンを処理するための追加のシステムを構築することは、何のメリットもない複雑さのように思えます。時間の経過とともに DB への更新のサブスクリプションを取得していることを確認してください。

于 2011-06-21T19:11:37.113 に答える