Интеграция с 1С (Best practices)
Интеграция с 1С (Best practices)
Нам необходимо решение для синхронизация данных между системами.
Требование:
А) Большие объемы данных
Б) Оперативное выгрузка горячих данных
В) Возможность принимать данные в несколько потоках.
Разделим данные обмена по частоте использования: Холодные данные (раз в 1 день), Теплые данные (5-15 мин), Горячие данные (моментальная выгрузка и загрузка)
3 направления обмена данными
1) 1С –>1С
2) 1С –> Другие системы
3) Другие система –> 1C
В 1-м направлений думаю все просто, механизм типового обмена данными через Планы обмена и Конвертация данных.
Выгружается 3 вида файла: Правила регистраций, Правила конвертаций данных и сами данные обмена.
Это решит требования А, но не Б и В.
Для решение требований Б и В можно пойте следующими методами.
1.1 HTTP и Web сервис
1.2 Шина данных обмена (Например SQL база или брокеры kafka, rabbitmq)
1.3 Регламентное задание по выгрузке в API
1.4 COM соединение к базе 1С
1.5 Внешние источники
1.6 Ваш вариант?
1.1 мне не нравится, так как если внешняя система, который загружает данные в 1С, может отправить не контролируемый поток данных (ну может авария у них), что приведет к поднятию максимального количества HTTP-соединений и в результате к аварию в системе 1С.
1.2 Этот вариант мне больше нравится так как 1С может решить аварию на своей стороне и контролировать обмен данными.
1.3 Этот вариант тоже приемлем, но только для холодных и теплых данных.
1.4 По моему мнению и опыту, опасный метод интеграции, который не в лучших руках может положит сервер 1С
1.5 Вполне нормальный метод, но честно ни когда не использовал. Может кто использовал? И сможет рассказать
1.6 Может у вас есть лучший вариант, буду рад услышать.
Вывод: Я рассматриваю лучший вариант решение этой задачи через метод 1.2.
Если использовать промежуточную базу SQL для хранения всех изменений таблиц, тогда придется писать регламентное задание с двух сторон для проверки «нет ли новых данных».
Если использовать RabbitMQ (есть даже решение YellowRabbit), то такой метод как и метод 1.1 может привести к аварий
Что касается Kafka, 1C сам контролирует поток данных.
Нам необходимо решение для синхронизация данных между системами.
Требование:
А) Большие объемы данных
Б) Оперативное выгрузка горячих данных
В) Возможность принимать данные в несколько потоках.
Разделим данные обмена по частоте использования: Холодные данные (раз в 1 день), Теплые данные (5-15 мин), Горячие данные (моментальная выгрузка и загрузка)
3 направления обмена данными
1) 1С –>1С
2) 1С –> Другие системы
3) Другие система –> 1C
В 1-м направлений думаю все просто, механизм типового обмена данными через Планы обмена и Конвертация данных.
Выгружается 3 вида файла: Правила регистраций, Правила конвертаций данных и сами данные обмена.
Это решит требования А, но не Б и В.
Для решение требований Б и В можно пойте следующими методами.
1.1 HTTP и Web сервис
1.2 Шина данных обмена (Например SQL база или брокеры kafka, rabbitmq)
1.3 Регламентное задание по выгрузке в API
1.4 COM соединение к базе 1С
1.5 Внешние источники
1.6 Ваш вариант?
1.1 мне не нравится, так как если внешняя система, который загружает данные в 1С, может отправить не контролируемый поток данных (ну может авария у них), что приведет к поднятию максимального количества HTTP-соединений и в результате к аварию в системе 1С.
1.2 Этот вариант мне больше нравится так как 1С может решить аварию на своей стороне и контролировать обмен данными.
1.3 Этот вариант тоже приемлем, но только для холодных и теплых данных.
1.4 По моему мнению и опыту, опасный метод интеграции, который не в лучших руках может положит сервер 1С
1.5 Вполне нормальный метод, но честно ни когда не использовал. Может кто использовал? И сможет рассказать
1.6 Может у вас есть лучший вариант, буду рад услышать.
Вывод: Я рассматриваю лучший вариант решение этой задачи через метод 1.2.
Если использовать промежуточную базу SQL для хранения всех изменений таблиц, тогда придется писать регламентное задание с двух сторон для проверки «нет ли новых данных».
Если использовать RabbitMQ (есть даже решение YellowRabbit), то такой метод как и метод 1.1 может привести к аварий
Что касается Kafka, 1C сам контролирует поток данных.
Прикрепленные файлы:
По теме из базы знаний
Ответы
Подписаться на ответы
Инфостарт бот
Сортировка:
Древо развёрнутое
Свернуть все
Для получения уведомлений об ответах подключите телеграм бот:
Инфостарт бот