Change language

Архитектура системы

Converged — это модульный операционный слой для производственных компаний. Его пользовательские интерфейсы, предметные сервисы, движок рабочих процессов, хранилище, медиашлюз и промышленные процессоры образуют единую систему, не превращаясь в одно приложение.

Архитектура разделяет три вида работы:

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

Одна шина сообщений

Компоненты среды выполнения взаимодействуют через Fujin. Каждый процесс открывает одно соединение, регистрирует цель и отправляет сообщения логическим адресатам. Отправителю не нужно знать адрес или место развёртывания получателя.

браузерные и мобильные клиенты | v шина сообщений Fujin / | | \ ui ms Centimanus Resonus \ | / \ Behemoth /

Это устраняет граф HTTP-вызовов и сервисную mesh-сеть из прикладного слоя. Маршрутизация, корреляция запросов и доверенный контекст арендатора передаются в общем конверте сообщения. Затем принимающий процесс выбирает запрошенный сервис или обработчик внутри собственной границы.

Основная среда выполнения

КомпонентОтветственность
FujinСоединяет узлы среды выполнения и направляет сообщения к текущему владельцу цели.
BehemothПредоставляет изолированные SQL-, ключ-значение-, колоночное, векторное, графовое и файловое хранилища.
CentimanusВыполняет многошаговые бизнес-процессы как воспроизводимые графы.
ResonusОбрабатывает мультимедиа в реальном времени, звонки, транскрибацию и сеансы ИИ.
PtahСводит желаемые платформу, решения и арендаторов с ресурсами Kubernetes.

Компоненты намеренно узкоспециализированы. Fujin не понимает бизнес-сервисы. Behemoth не оркестрирует бизнес-операции. Centimanus не владеет предметными данными. Resonus не определяет идентичность арендатора. Ptah создаёт и настраивает рабочие нагрузки, но не участвует в обмене сообщениями во время выполнения.

Модули и решения

Бизнес-возможности поставляются в виде микросервисов, поверхностей и рабочих процессов. Решение — это декларативный выбор этих модулей для определённого операционного сценария, например обработки заказов, планирования производства или мониторинга оборудования.

Микросервисы владеют своими данными и предоставляют типизированные контракты. Они не вызывают друг друга для координации процесса. Последовательности, проходящие через разные предметные области, относятся к рабочим процессам, которые Centimanus выполняет по одному устойчивому шагу за раз. Это позволяет сохранять предметные модули небольшими и объединять их в решение без создания скрытой связанности.

Изоляция данных

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

Та же модель масштабируется на разные профили развёртывания:

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

Изменение топологии не требует изменения кода приложения, поскольку узлы по-прежнему обращаются к логическим целям и границам хранилища.

Плоскость управления

Ptah — это плоскость управления, не подключённая к Fujin. Она наблюдает за объявленными ресурсами Platform, Solution и Tenant, вычисляет желаемые рабочие нагрузки и согласует их с Kubernetes.

Платформа + Решения + Арендаторы | v Ptah | v Развёртывания, сервисы, тома, конфигурация и маршруты

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

Доверенный контекст

Область арендатора устанавливается на границе платформы и передаётся в конверте сообщения. Сервисы среды выполнения используют этот доверенный контекст вместо определения арендатора из полезной нагрузки приложения. Размещение хранилища, вызовы сервисов и медиасеансы сохраняют одну и ту же границу области.

В совокупности логические сообщения, изолированное хранилище, воспроизводимые рабочие процессы и отдельная плоскость управления позволяют Converged оставаться модульной системой, не перекладывая сложность распределённых систем на каждый бизнес-модуль.