Прокси для пробок | On-Premise | 2GIS Documentation
On-Premisebeta

Прокси для пробок

Сервис прокси позволяет получать данные о пробках в реальном времени для сервисов On-Premise, которым нужны эти данные. Детали приведены в обзорном документе.

Архитектура прокси для пробок (On-Premise)

Этот сервис On-Premise включает в себя только сервис NGINX (обратный прокси).

Обратный прокси NGINX:

  1. Получает данные о пробках в реальном времени с публичных серверов обновлений для пробок 2GIS.

    Прокси для пробок может быть развернут в разных конфигурациях, которые зависят от используемых серверов обновлений:

    • Если прокси использует серверы обновлений https://traffic0.edromaps.2gis.com, то данные о пробках предоставляются в векторном формате.
    • Если прокси использует серверы обновлений https://traffic0.maps.2gis.com, то данные о пробках предоставляются в растровом формате.
    • Если прокси использует серверы обновлений https://traffic-jams.2gis.com, то данные о пробках предоставляются в формате, который подходит для использования сервисами навигации.
  2. Раздает эти данные по HTTP.

    Важное примечание:

    Различные сервисы требуют развертывания определенной конфигурации прокси для пробок, использующей конкретные серверы обновлений для пробок (настройка proxy.host). См. детали в документации соответствующих сервисов On-Premise.

    Обычно прокси раздает данные о пробках конечным пользователям и приложениям, которые пользуются сервисами On-Premise. Однако из этого правила есть несколько исключений:

    • Прокси, который раздает данные о пробках в растровом формате, также может использоваться бэкендом SPCore.
    • Прокси, который раздает данные о пробках в формате для навигации, недоступен для конечных пользователей и приложений, и предоставляет данные исключительно сервису Navi-Back.

    Пример для сервиса карт в конфигурации с MapGL JS API и Tiles API:

    Пример организации доступа в интернет для сервиса карт (On-Premise)

Обратному прокси NGINX должен быть предоставлен доступ в интернет, чтобы этот сервис мог обращаться к публичным серверам обновлений для пробок 2GIS.

Детальные требования для этого сервиса описаны в обзорном документе. Дополнительную информацию можно найти в разделе Что нужно учесть перед развертыванием этого документа.

Выполните следующие шаги:

  1. Создайте конфигурационный файл values-traffic-proxy.yaml:

    dgctlDockerRegistry: <Docker Registry hostname and port>/2gis-on-premise
    
    replicaCount: <number of the NGINX service replicas>
    
    proxy.host: <FQDN of a public 2GIS traffic update server>
    
    resources:
        requests:
            cpu: 10m
            memory: 32Mi
        limits:
            cpu: 500m
            memory: 256Mi
    
    ingress:
        hosts:
            - host: traffic-proxy-api.host
    

    Где:

    1. dgctlDockerRegistry: эндпоинт вашего реестра Docker, в котором находятся образы сервисов On-Premise.

    2. replicaCount: число реплик сервиса NGINX.

    3. proxy.host: FQDN публичного сервера обновлений для пробок 2GIS. Список доступных серверов приведен в разделе Архитектура.

    4. resources: настройки вычислительных ресурсов для сервиса. Для получения актуальной информации о рекомендуемых значениях настроек в этой секции см. таблицу с минимальными системными требованиями.

    5. ingress: конфигурация ресурса Ingress. Адаптируйте приведенную конфигурацию для соответствия используемому вами Ingress. Обратите внимание, что путь для хоста должен указывать на /.

  2. Разверните сервис с помощью Helm, используя подготовленный конфигурационный файл values-traffic-proxy.yaml:

    helm upgrade --install --atomic --wait-for-jobs --values ./values-traffic-proxy.yaml traffic-proxy 2gis-on-premise/traffic-proxy
    

Чтобы обновить сервис, выполните следующую команду:

helm upgrade --atomic --wait-for-jobs --values ./values-traffic-proxy.yaml traffic-proxy 2gis-on-premise/traffic-proxy

Настройте сервис On-Premise на использование адреса, указанного в параметре ingress.hosts.host, в качестве Traffic API endpoint. См. детали в документации соответствующих сервисов On-Premise.

Чтобы проверить работоспособность прокси для пробок, откройте в браузере адрес, указанный в параметре ingress.hosts.host. Сервис должен вернуть список файлов с данными о пробках.

Или же можно проверить работоспособность другого сервиса On-Premise, настроенного на использование развёрнутого прокси для пробок.