Оптимизация использования веб-сервисов

Важно! План Премиум платформы Google Карт больше недоступен для зарегистрированных и новых клиентов.

Обзор

Если ваше приложение превышает ограничения на использование веб-службы платформы Google Maps, служба возвращает сообщение об ошибке. Если ваше приложение продолжает превышать ограничения на использование, ему может быть заблокирован доступ к веб-службе, а в некоторых случаях он может получать ответы «403 запрещено».

Если запросы веб-служб вашего приложения получают сообщения об ошибках, вы можете снизить использование, оптимизировав приложения для более эффективного использования веб-служб.

Прежде чем вы начнете

Прежде чем оптимизировать использование веб-сервиса вашего приложения, убедитесь, что вы используете правильный сервис для своего варианта использования и правильную лицензию Maps API.

Подтвердите свой вариант использования

Веб-службы платформы Google Maps лучше всего подходят для приложений, которые не требуют ввода данных от пользователей в режиме реального времени или когда веб-браузер не используется. Например, вам следует использовать веб-сервисы, если ваше приложение использует набор данных, независимый от пользовательского ввода — например, фиксированный набор адресов на веб-сайте недвижимости, который необходимо геокодировать.

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

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

Более подробное обсуждение того, когда использовать веб-сервисы, см. в разделе Стратегии геокодирования . Хотя рекомендации в этом документе относятся только к геокодированию, они применимы ко всем веб-службам и объясняют, когда следует использовать веб-службы на стороне сервера или их эквиваленты на стороне клиента.

Как оптимизировать использование веб-сервиса

Чтобы использовать веб-сервисы более эффективно, вы можете снизить их использование, отправляя запросы только при необходимости и равномерно распределяя использование, чтобы оно оставалось в рамках ограничений.

Кэшировать результаты

В разделах 3.2.3.a и b Условий использования платформы Google Maps указано, что вы не имеете права предварительно загружать, индексировать, хранить или кэшировать какой-либо Контент, за исключением ограниченных условий, указанных в Условиях.

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

Запросы дроссельной заслонки

Чтобы избежать превышения ограничений на использование, вы можете настроить свое приложение на регулирование запросов, помещая их в очередь, которая отслеживает время отправки запросов. Если ваше приложение получает один дополнительный запрос сверх лимита QPM, отрегулируйте скорость запросов. Добавьте в свой код период ожидания в **`S`** секунд между запросами. Если запрос по-прежнему приводит к ошибке квоты, удвойте период ожидания, а затем отправьте еще один запрос. Продолжайте корректировать период ожидания, пока запрос не вернется без ошибки.

Даже при регулировании приложения могут по-прежнему получать ответы с кодом состояния OVER_QUERY_LIMIT . Настройте свое приложение на вставку небольшой задержки (20 мс) и повторите попытку, если оно получит такой ответ.