Модель архитектуры С4
Модель С4 используется для графического изображения архитектуры системы и объяснения декомпозиции системы на элементы. Диаграммы в этой модели организуются по принципу увеличения масштаба и детализации элементов:
-
Уровень 1: диаграмма контекста (C1: system context diagram)
Отражает положение системы во внешнем контексте: возможные пользовательские роли и другие системы, непосредственно участвующие в работе.
-
Уровень 2: диаграмма контейнеров (C2: container diagram)
Разбивает систему на контейнеры (основные подсистемы) и отражает основные пути взаимодействия между ними.
-
Уровень 3: диаграмма компонентов (C3: component diagram)
Разбивает каждый контейнер на компоненты и отражает взаимодействие компонентов между собой (внутри одного контейнера) и с другими контейнерами.
-
Уровень 4: диаграмма кода (C4: code diagram)
Описывает элементы кода, с помощью которых реализуются компоненты. Этот уровень не будет описан в документации On-Premise.
Чтобы получить общее представление об устройстве комплекса On-Premise, вам будет достаточно изучить диаграммы уровней С1 и С2. Если же вам интересно устройство каждого сервиса, изучите диаграм мы уровней С2 (с фокусом на отдельных сервисах) и С3.
Рекомендация
Чтобы расссмотреть диаграммы в увеличенном масштабе, кликните по нужному изображению правой кнопкой мыши и выберите Открыть картинку в новой вкладке или Сохранить картинку как.
C1: диаграмма системного контекста
В программном комплексе On-Premise предполагаются следующие роли:
- Пользователь: использует установленные продукты комплекса для решения задач.
- Инженер (DevOps): устанавливает и обслуживает систему.
- Оператор: контролирует доступ пользователей к системе.
Взаимодействие с хранилищами данных и публичными серверами обновлений описано в диаграммах следующих уровней.
C2: диаграмма контейнеров
Внутри комплекса On-Premise контейнер - это продукт 2ГИС, который реализует уникальную функцию (например, построение маршрутов), устанавливается отдельно и имеет свой ряд зависимостей. Каждая инсталляция On-Premise может иметь разный набор контейнеров в зависимости от того, какие задачи должен решать установленный комплекс.
Утилита 2GIS CLI является инструментом установки: она позволяет загружать с публичных серверов 2ГИС новые (и обновлять существующие) артефакты установки, с помощью которых разворачиваются все сервисы.
На диаграмме выше представлены все контейнеры, доступные для установки, а также все возможные связи между ними без детализации. Диаграммы ниже "увеличивают масштаб" этого представления и позволяют увидеть, с какими контейнерами взаимодействует каждый сервис в деталях.