Архитектура решения | On-Premise | 2GIS Documentation
On-Premise

Архитектура решения

Программный комплекс 2ГИС состоит из набора сервисов, привязанных к его определенной версии.

Для корректной работы сервисов необходима заранее подготовленная инфраструктура.

Архитектура программного комплекса 2ГИС
  1. 2GIS CLI загружает артефакты установки с публичных серверов обновлений 2ГИС:

    • наборы данных, необходимых для установки или обновления сервисов;
    • Docker-образы сервисов.
  2. 2GIS CLI помещает наборы данных в S3-совместимое хранилище (на схеме — File/Object Storage), а Docker-образы — в реестр Docker (на схеме — Docker Registry). Оба хранилища расположены в публичной сети.

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

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

  4. После миграции артефактов:

    • Docker-образы доставляются напрямую в соответствующие им сервисы, расположенные в кластере Kubernetes.

    • Helm-чарты используют загруженные наборы данных для установки/обновления сервисов.

  5. Сервис или его новая версия становится доступным конечным пользователям.

Программный комплекс 2ГИС спроектирован так, что подавляющая часть сервисов и инфраструктуры может быть установлена в изолированной локальной сети с ограниченным или отсутствующим доступом к интернету.

Доступ к интернету используют только два компонента:

  • утилита 2GIS CLI в режимах license и pull;

  • прокси для API пробок. Размещается в приватной сети, но для работы необходимо настроить файервол или балансировщик нагрузки так, чтобы сервис имел доступ в интернет.

Под хранилищем данных понимается кластер БД или S3-совместимое хранилище. В документации каждого сервиса указано, какая комбинация хранилищ данных необходима для его корректной работы. Как узнать требуемый объем ресурсов, описывает документ Системные требования. С особенностями разворачивания хранилищ вы можете ознакомиться в их официальной документации:

Хранилище данных Ссылка на документацию
S3 https://aws.amazon.com/ru/s3/
PostgreSQL https://www.postgresql.org/docs/
Cassandra https://cassandra.apache.org/doc/latest/
Elastic Search https://www.elastic.co/guide/index.html
Redis https://redis.io/docs/getting-started/