DaJet Exchange - потоковый обмен данными в режиме реального времени при помощи сообщений

25.11.2023 14:19:35   Дмитрий Жичкин (zhichkin)    582

Экспериментальный проект DaJet Exchange реализует потоковый обмен данными в режиме реального времени при помощи сообщений. Данные (объекты 1С) потребляются из таблиц регистрации изменений планов обмена 1С:Предприятие 8. Затем они обрабатываются при помощи конвейера DaJet Flow. Конвейер DaJet Exchange состоит из пяти основных блоков DaJet Flow. Все операции выполняются при помощи скриптов на языке запросов DaJet, аналогичному языку запросов 1С.

1. Блок OneDbExchange потребляет данные из плана обмена при помощи скриптов CONSUME.
2. Блок OneDbRouter выполняет маршрутизацию сообщений получателям при помощи скриптов ROUTE. Функционально аналогичен правилам регистрации объектов (ПРО) КД-2. Может быть настроен на выполнение в несколько потоков.
3. Блок OneDbTransformer выполняет конвертацию объектов при помощи скриптов CONTRACT. Функционально аналогичен правилам конвертации объектов (ПКО) КД-2. Может быть настроен на выполнение в несколько потоков.
4. Блок OneDbSerializer выполняет сериализацию объектов в JSON. Может быть настроен на выполнение в несколько потоков.
5. Блок Producer гарантирует доставку сообщений в RabbitMQ, Apache Kafka или регистр сведений базы-приёмника.

Сравнительный анализ производительности с типовыми решениями:
https://zhichkin.github.io/dajet-exchange/benchmark.html

Демо-дистрибутив на GitHub:
https://github.com/zhichkin/dajet/releases/tag/dajet-2.3.2

P.S.
Проект был заявлен на Infostart Tech Event 2023, но по результатам голосования не был отобран.

Категории:
 Обмен данными

Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
Оставьте свое сообщение
Сергей Лихтенвальд. Что нам стоит обмен настроить, или Как кролик спас "зоопарк"
РИБ 2.0 (методика)
Андрей Путин. Как делать интеграции правильно и быстро
Михаил Харитонов. Лайфхаки: Ускоряем и «расшиваем» сложные обмены
Скрипты DaJet Stream для обмена данными (первое знакомство)
Павел Ванин. Нестандартное использование Системы взаимодействия
DaJet Flow: проектирование конвейеров потоковой обработки данных, обменов данными и интеграции
DaJet Flow: многопоточный контекст выполнения плагинов и внедрение зависимостей
DaJet Flow: подсистема настроек
DaJet Flow: разработка плагинов