Модель С4 | On-Premise | 2GIS Documentation
On-Premise

Модель архитектуры С4

Модель С4 используется для графического изображения архитектуры системы и объяснения декомпозиции системы на элементы. Диаграммы в этой модели организуются по принципу увеличения масштаба и детализации элементов:

  1. Уровень 1: диаграмма контекста (C1: system context diagram)

    Отражает положение системы во внешнем контексте: возможные пользовательские роли и другие системы, непосредственно участвующие в работе.

  2. Уровень 2: диаграмма контейнеров (C2: container diagram)

    Разбивает систему на контейнеры (основные подсистемы) и отражает основные пути взаимодействия между ними.

  3. Уровень 3: диаграмма компонентов (C3: component diagram)

    Разбивает каждый контейнер на компоненты и отражает взаимодействие компонентов между собой (внутри одного контейнера) и с другими контейнерами.

  4. Уровень 4: диаграмма кода (C4: code diagram)

    Описывает элементы кода, с помощью которых реализуются компоненты. Этот уровень не будет описан в документации On-Premise.

Чтобы получить общее представление об устройстве комплекса On-Premise, вам будет достаточно изучить диаграммы уровней С1 и С2. Если же вам интересно устройство каждого сервиса, изучите диаграммы уровней С2 (с фокусом на отдельных сервисах) и С3.

Рекомендация

Чтобы расссмотреть диаграммы в увеличенном масштабе, кликните по нужному изображению правой кнопкой мыши и выберите Открыть картинку в новой вкладке или Сохранить картинку как.

Уровень 1: диаграмма системного контекста

В программном комплексе On-Premise предполагаются следующие роли:

  • Пользователь: использует установленные продукты комплекса для решения задач.
  • Инженер (DevOps): устанавливает и обслуживает систему.
  • Оператор: контролирует доступ пользователей к системе.

Взаимодействие с хранилищами данных и публичными серверами обновлений описано в диаграммах следующих уровней.

Уровень 2: диаграмма контейнеров

Внутри комплекса On-Premise контейнер - это продукт 2ГИС, который реализует уникальную функцию (например, построение маршрутов), устанавливается отдельно и имеет свой ряд зависимостей. Каждая инсталляция On-Premise может иметь разный набор контейнеров в зависимости от того, какие задачи должен решать установленный комплекс.

Утилита 2GIS CLI является инструментом установки: она позволяет загружать с публичных серверов 2ГИС новые (и обновлять существующие) артефакты установки, с помощью которых разворачиваются все сервисы.

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

Уровень 2: фокус на утилите 2GIS CLI

Подробнее о структуре утилиты 2GIS CLI см. в документе Архитектура утилиты 2GIS CLI.

Уровень 2: фокус на сервисе лицензий

Подробнее о структуре сервиса лицензий:

Уровень 2: фокус на API карт

Подробнее о структуре API карт:

Уровень 2: фокус на API поиска

Подробнее о структуре API поиска:

Уровень 2: фокус на API навигации

Подробнее о структуре API навигации:

Уровень 2: фокус на 2ГИС Про

Подробнее о структуре 2ГИС Про:

Уровень 2: фокус на CityLens

Подробнее о структуре CityLens:

Уровень 2: фокус на GIS-платформе

Подробнее о структуре GIS-платформы:

Уровень 2: фокус на Platform Manager

Подробнее о структуре Platform Manager:

Данный раздел иллюстрирует, из каких элементов состоит каждый контейнер (продукт или сервис).

Уровень 3: диаграмма компонентов сервиса API-ключей

Подробнее о том, как взаимодействуют компоненты, описано в разделе Архитектура сервиса API-ключей.

Уровень 3: диаграмма компонентов API карт

Подробнее о том, как взаимодействуют компоненты, описано в разделе Архитектура API карт.

Уровень 3: диаграмма компонентов API поиска

Подробнее о том, как взаимодействуют компоненты, описано в разделе Архитектура API поиска.

Сервис навигации работает в 2 основных режимах: стандартный сценарий навигации и обработка асинхронных запросов.

Стандартный сценарий

API навигации обрабатывает запросы на построение маршрутов, содержащих не более 25 начальных и 25 конечных точек. При расчете маршрута может также учитываться информация о пробках и перекрытиях дорог в реальном времени.

Уровень 3: диаграмма компонентов API навигации

Обработка асинхронных запросов

Если необходимый маршрут содержит большое количество точек, для расчета следует использовать Distance Matrix Async API.

Уровень 3: диаграмма компонентов API навигации для обработки асинхронных запросов

Подробнее о том, как взаимодействуют компоненты в обоих сценариях, описано в разделе Архитектура API навигации.

Уровень 3: диаграмма компонентов 2ГИС Про

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

Уровень 3: диаграмма компонентов CityLens

Подробнее о том, как взаимодействуют компоненты, описано в разделе Архитектура CityLens.

Уровень 3: диаграмма компонентов GIS-платформы

Подробнее о том, как взаимодействуют компоненты, описано в разделе Архитектура GIS-платформы.