Архитектура¶
Назначение¶
Подсистема — встраиваемая библиотека для прикладных решений на платформе 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С:Библиотека стандартных подсистем | Базовая инфраструктура |
Как устроены потоки данных — в разделе Потоки данных. Принципы работы и ограничения — в Принципы и ограничения.