Перейти к основному содержимому

Архитектура 2ГИС Про

Архитектура сервиса On-Premise PRO

Сервис 2ГИС Про состоит из компонентов:

  • Pro UI — веб-приложение на React, взаимодействующее с Pro API по протоколу REST через JSON. UI полностью динамичен и основан на данных, поступающих из серверной части. Может отображать данные с произвольным количеством атрибутов и динамически создавать фильтры.
  • Pro API — RESTful API построенный на ASP.NET Core 6.0 (.Net 6). Предоставляет все необходимые методы для получения метаданных (датасетов, проектов, слоев), а также самих данных. Включает кластеризованные маркеры и объединенные данные с возможностью фильтрации по любому атрибуту объекта и полнотекстовым поиском по отдельным строковым атрибутам объектов. Активно взаимодействует с Elasticsearch и S3-хранилищем.
  • assetImporter — cron-задание для обновления Elasticsearch подготовленными наборами данных из S3.

Пользователи могут работать с системными (встроенными) наборами данных или загрузить свои данные:

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

Зависимости

Общая инфраструктура:

  • Elasticsearch — база данных с поисковой и аналитической системой, которая предоставляет все необходимые возможности фильтрации, агрегирования, геопоиска и полнотекстового поиска.
  • PostgreSQL — база данных для хранения метаданных (описание ассетов и агрегатов) и данных пользователей (проекты, слои).
  • S3-совместимое хранилище — хранилище данных с подготовленными данными из источников 2ГИС.
  • Redis — хранилище кеша.
  • Apache Kafka — хранение доступов и разрешений.
  • Поставщик OpenID Connect для авторизации пользователей по технологии единого входа (SSO). См. инструкцию по настройке поставщика аутентификации.
Можно использовать аналоги из реестра Минцифры

Доступные аналоги указанного программного обеспечения, включённые в реестр Минцифры, см. в разделе Системные требования.

Сервисы On-Premise:

Подробнее о том, как проверить требования для каждого сервиса, см. в документе Системные требования.

Что дальше?