Перейти к содержанию

Архитектура

Назначение

Подсистема — встраиваемая библиотека для прикладных решений на платформе 1С:Предприятие, предназначенная для организации двустороннего событийного обмена сообщениями с брокером Apache Kafka.

Адаптер берёт на себя всю техническую часть интеграции, прикладное решение использует его как готовый инфраструктурный слой.

Общая схема

flowchart TB
    subgraph OneC["1С:Предприятие"]
        APP["Прикладное решение"]
        HANDLERS["Обработчики продюсера/консьюмера"]
    end

    subgraph ADAPTER["Адаптер Kafka"]
        API["Программный API кфкИнтеграция"]
        QUEUE_OUT[/"РС Исходящие сообщения"\]
        QUEUE_IN[\"РС Входящие сообщения"/]
        JOBS[["Диспетчеры и фоновые задания"]]
        DLL["Simple Kafka Connector 1C (DLL)"]
    end

    subgraph KAFKA["Apache Kafka"]
        BROKER[("Брокер / топики")]
    end

    APP <--> API
    API <--> QUEUE_OUT
    API <--> QUEUE_IN
    QUEUE_OUT --> JOBS
    JOBS --> QUEUE_IN
    JOBS <--> HANDLERS
    HANDLERS <--> APP
    JOBS <--> DLL
    DLL <--> BROKER

Ключевые компоненты

Программный API кфкИнтеграция

Точка входа для прикладного кода: регистрация сообщений, прямая отправка, чтение.

Регистры-очереди

  • Исходящие сообщения — очередь сообщений для отправки из 1С в Kafka.
  • Входящие сообщения — очередь сообщений, полученных из Kafka.

Диспетчеры и фоновые задания

Независимые потоки для:

  • сериализации исходящих сообщений;
  • выгрузки сериализованных сообщений в Kafka;
  • загрузки сообщений из Kafka;
  • десериализации и прикладной обработки входящих сообщений;
  • контроля дублей — пометка устаревших версий исходящих сообщений.

Количество потоков каждого типа настраивается в диспетчере задач продюсера/консьюмера.

Внешний компонент

Simple Kafka Connector 1C — DLL-компонент, построенный на librdkafka. Все низкоуровневые операции с Kafka выполняет он. Компонент встроен в подсистему, отдельная установка не требуется.

Обработчики прикладного решения

Функции/процедуры, которые получают объект 1С и формируют тело сообщения (продюсер) или получают тело сообщения и записывают данные в 1С (консьюмер). Поддерживаются:

  • произвольные обработчики — экспортные методы общих модулей;
  • обработчики через 1С:Конвертация данных 3.1 — правила КД + XDTO-пакет.

Конфигурационные объекты

Справочники

  • Брокеры — параметры подключения к кластерам Kafka.
  • Продюсеры — настройки публикации сообщений (топик, формат, сериализация).
  • Консьюмеры — настройки загрузки сообщений (топик, формат, десериализация).

Обработки

  • Интеграция — высокоуровневый программный API адаптера.
  • Панель администрирования — управление и мониторинг.
  • Регистрация изменений — принудительная постановка данных в очередь.

Регистры сведений

Очереди сообщений:

  • Исходящие сообщения — очередь для отправки в Kafka.
  • Входящие сообщения — очередь для обработки в 1С.

Служебные:

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

Полный перечень метаданных — в разделе Объекты метаданных.

Зависимости

Компонент Роль
Simple Kafka Connector 1C Внешний компонент для работы с Kafka
JSONEditor UI‑редактор JSON
1С:Библиотека стандартных подсистем Базовая инфраструктура

Как устроены потоки данных — в разделе Потоки данных. Принципы работы и ограничения — в Принципы и ограничения.