Обойти ограничения скорости IP API геокодирования Google - PullRequest
6 голосов
/ 28 февраля 2012

Мы являемся подразделением крупной корпорации и столкнулись с серьезной проблемой Google Maps и API геокодирования.Проблема в том, что все 70 подразделений нашей корпорации находятся за одним и тем же IP-адресом.Таким образом, агент по обслуживанию клиентов в Индии, похоже, приходит с того же IP-адреса, что и разработчик в Кливленде, штат Огайо, который, как представляется, приходит с того же IP-адреса, что и президент подразделения в Западной Европе.С более чем 130 000 сотрудников мы регулярно блокируемся за превышение предела скорости IP.

За исключением тех, кто просто просматривает веб-сайты, использующие карты Google с запросами геокодирования на стороне клиента, любое подразделение, которое пытается выполнить пакетное геокодирование или предоставляет свое собственное приложение для отображения карт, будет вносить свой вклад в одно и то же ограничение.!На самом деле мы используем наш собственный сервис «Где купить», который является общедоступным (http://www.ridgid.com/Tools/Where-To-Buy/),, чтобы предоставлять клиентам информацию о местных дистрибьюторах.

Пока мы не ограничиваем API (по крайней мере, пока, икогда мы делаем это, мы всегда можем купить корпоративную лицензию), мы сталкиваемся с ограничением скорости IP и в настоящее время не имеем обходного пути. Мы уже следуем передовым практикам с точки зрения кэширования результатов геокодирования и сокращения расточительных вызовов. К счастью, это непроблема для наших клиентов, поскольку они не используют тот же IP-адрес, что и пользователи в нашей корпорации.

Вопрос в том, есть ли ЛЮБОЙ способ получить исключение от Google для нашего конкретного IP-адреса для улучшения IP-адреса.ограничения с учетом наших настроек? Это действительно вопрос для Google. Спасибо за вашу помощь!

Ответы [ 6 ]

10 голосов
/ 28 февраля 2012

Подразделение крупной корпорации с десятками тысяч сотрудников должно иметь корпоративную лицензию.

2 голосов
/ 19 декабря 2012

Я не думаю, что есть предел, связанный с IP, если вы используете геокодирование на стороне клиента, как описано здесь:

https://developers.google.com/maps/articles/geocodestrat

На стороне сервера геокодирование через веб-службу геокодирования имеет квоту 2500 запросов на IP в день, поэтому все запросы за один день считаются против квоты. Кроме того, веб-служба ограничена скоростью, поэтому слишком быстрые запросы приводят к блокировке.

На стороне клиента Геокодирование через браузер ограничено по скорости за сеанс карты, поэтому геокодирование> распределяется по всем вашим пользователям и масштабируется с помощью вашей базы пользователей.

«Сеанс карты» означает каждый раз, когда загружается Javascript Map API. Однако на это также может быть наложено ограничение, независимо от того, связано ли оно с IP / доменом / поддоменом / URL, и требует дальнейшего уточнения.

И «ограниченная скорость» на стороне клиента не означает, что существует суточная квота или что-то в этом роде. Я тестировал этот метод, за один день он может геокодировать более 2500 адресов. Вам нужно будет подумать и проверить, как работает «ограничение скорости». Мое наблюдение заключается в том, что он позволяет быстро набрать около 10 адресов, а затем ограничить вас скоростью около 1 геокода в секунду для следующего запроса 150, дальнейший запрос из той же «сессии» займет экспоненциально больше времени.

0 голосов
/ 17 апреля 2018

Предел в стандартной лицензии составляет от 50 до 100 QPS (количество запросов в секунду) в зависимости от услуги (т. Е. Служба повышения имеет ограничение в 50 QPS, геокодирование имеет ограничение в 100 QPS). Несмотря на то, что у вас может быть более высокая квота, вы не можете выполнять более 50 запросов в секунду, в противном случае сервер заблокирует ваш IP-адрес примерно на 2 часа (исходя из моего опыта). Решение состоит в том, чтобы кэшировать запросы и выполнять их по расписанию, а не при возникновении.

0 голосов
/ 15 марта 2013

Если вы делаете только прямое геокодирование, я предлагаю попробовать GeocodeFarm. На днях я только что получил от них электронное письмо, в котором говорилось, что они скоро начнут выпускать «обратный» геокодинг, и что они все еще решают проблемы. Возможно, это поможет вам, так как у них нет ограничений на количество запросов, и единственным ограничением является ваш ежедневный лимит в 2500, такой же, как в Google ... IDK. Просто предложение ..

http://www.geocodefarm.com == ссылка

0 голосов
/ 28 марта 2012

Интересно, много ли совпадений в запросах, как будто все продолжают искать те же самые 50 местоположений? Вы пишете кеширующий прокси, который сначала отправляет запросы во внутреннюю базу данных, а затем запрашивает у Google, когда результаты не найдены. Это можно сделать на программном уровне, изменив вызов GeoCode на InternalGeoCode или, возможно, на сетевом уровне и перехватить все запросы к серверам Google Geocode и перенаправить их? Я не уверен, насколько сложно это реализовать, или, если это поможет, возможно, все запросы уникальны.

0 голосов
/ 28 февраля 2012

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

...