Интеграция с 1С (Best practices)

1. t_prog 38 15.01.20 11:25 Сейчас в теме
Интеграция с 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 сам контролирует поток данных.
Прикрепленные файлы:
По теме из базы знаний
Ответы
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
2. pm74 203 15.01.20 14:45 Сейчас в теме
Вывод: Я рассматриваю лучший вариант решение этой задачи через метод 1.2.

(1)не совсем понятно что вы считаете лучшим вариантом т.к. нет нумерации
7. t_prog 38 16.01.20 09:15 Сейчас в теме
(2) исправил, спасибо не увидел
3. Оберон 17 15.01.20 14:52 Сейчас в теме
посмотрите книжку умную: "Шаблоны корпоративных приложений" или паттерны от IBM
4. Оберон 17 15.01.20 14:56 Сейчас в теме
можно посмотреть в сторону разработки отwiseadvice-it и они же на Инфостате (это не реклама!!!)
8. t_prog 38 16.01.20 09:50 Сейчас в теме
(4) Да я пришел к такому же выводу, как в этой статье. Только Kafka. Думаю не суть RabbitMQ или Kafka, главное это Best Practices, лучше решения я пока не встречал.
9. Оберон 17 16.01.20 13:19 Сейчас в теме
(8) разницы нет для системы в целом, только в обслуживании
5. triviumfan 96 15.01.20 15:31 Сейчас в теме
Ошибка в заголовке - practices
6. t_prog 38 16.01.20 09:15 Сейчас в теме
(5) исправил, спасибо не увидел
Оставьте свое сообщение

Для получения уведомлений об ответах подключите телеграм бот:
Инфостарт бот