PHP Разработка кратчайшего маршрута для пользователя (самый быстрый?) - PullRequest
1 голос
/ 11 июня 2011

правый

В основном мне нужно выработать кратчайший маршрут от серверов до конечного пользователя. У меня есть 2 географически расположенных сервера - один в Великобритании и один в США.

Мне нужно выяснить, с какого сервера загружать контент, исходя из местоположения конечного пользователя.

Первоначально я думал об использовании fsock / curl / fgc и отправляю переменную $ _GET с IP-адресом пользователя, а затем либо (если используется tracert) посмотреть, какой вывод имеет наименьшее количество прыжков, и собирался ли я использовать ping Видите самый маленький пинг, очевидно. Все это будет завершено сохранением IP-адреса пользователя в таблице с местоположением, предварительно выбранным для следующей загрузки веб-страницы.

Теперь, когда я получаю все больше и больше серверов, это кажется крайне непрактичным и может привести ко многим болезненным проблемам,

Итак, мой вопрос к вам: есть ли более практичный / простой способ завершить это?

Ура! * * 1013

Ответы [ 2 ]

4 голосов
/ 11 июня 2011

Купите подписку на базу геолокации или воспользуйтесь веб-сервисом, затем проверьте их IP-адреса в базе данных / сервисе.Разделите мир на регионы и определите, какой сервер должен обслуживать какие регионы.

Определите код, основанный на вашем поиске, с какого сервера следует обслуживать контент, исходя из страны происхождения.Попробуйте использовать сетевой прыжок или трассировку в реальном времени, чтобы решить, что будет намного медленнее, чем просто обслуживание с одного сервера.Вы думаете об этом.

2 голосов
/ 11 июня 2011

Вы можете использовать IP-адрес пользователя, чтобы определить страну происхождения для запроса и назначить коло на основе этого.Таким образом, Америка и Азия отправляются в США, Европа и Африка - в Великобританию.Может потребоваться небольшое тестирование, чтобы убедиться, что это было наиболее подходящим.MaxMind имеет бесплатный набор данных GeoIP и программное обеспечение: http://www.maxmind.com/app/geolitecountry

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...