Daily MaverickJoburg crisis cannot be solved without competent City leadershipESPNPremier League depth charts for most popular teams: Who is key?The Jerusalem PostWho will teach the next generation?PunchNigeria@66: 2027 election will test our democratic maturity – JonathanBollywood HungamaDisha Patani completes a decade in Bollywood as MS Dhoni: The Untold Story turns 10: “Beyond grateful ”Il Fatto Quotidiano“Il lusso? Se c’è non me lo nego ma non lo cerco. Non ho lo yatch di 40 metri o la Lamborghini. Il mio aspetto? C’è il fascino sottile della decomposizione delle carni”: Paolo Bonolis si raccontaسكاي نيوز عربيةاستطلاع يفجر مفاجأة بشأن رونالدو.. ماذا يريد مشجعو البرتغال؟RTBF InfoDes feux et dégradations lors d'un mouvement spontané d'élèves devant plusieurs écoles de LiègeBBC News BrasilGoogle remove mais de 40 canais com falsos médicos de IA após reportagens da BBC News BrasilEgypt IndependentEgypt thwarts Israel’s plans to build Suez Canal alternative: Deputy Prime MinisterColliderAlmost 30 Years Ago, 'Buffy the Vampire Slayer' Did 'Obsession' in This Action-Packed EpisodeRMF24Korea prostuje słowa Trumpa o inwestycjach za miliardy
The Daily Newsstand · Free, Always
Thursday, October 1, 2026

Упорядочили почти 200 интеграционных потоков для работы крупного девелопера: схема «звезда» на базе DATAREON Platform

Translate

На связи Анна Астахова, директор по развитию ИТ-интегратора «Белый код». Расскажу, как мы перенесли 197 интеграционных потоков крупного девелопера на DATAREON Platform без остановки рабочих систем — и почему за задачей «перенести работающие обмены» скрывалась ревизия дублирующегося кода, забытых механизмов синхронизации и накопленной бизнес-логики.

Заказчик: девелопер федерального уровня. 

Задачи:

  • Централизовать обмен между многочисленными базами 1С, чтобы снизить нагрузку на системы, и уйти от логики интеграций «точка-точка».

  • Упростить сопровождение и доработки интеграций.

  • Повысить управляемость и прозрачность интеграционного ландшафта.

О компании: комплексно развивает территории в центральной России: строит жилые кварталы, детские сады, школы, поликлиники, спортивные и коммерческие объекты. Это надежный застройщик федерального уровня. 

С чем обратился заказчик

У клиента было большое количество баз 1С: ERP, БИТ.Строительство и другие конфигурации. Обмен между ними шел через RabbitMQ, формально брокер сообщений в ландшафте был, но по сути интеграция оставалась схемой «точка-точка»: каждая система сама формировала отдельное сообщение для каждого конечного получателя и знала обо всех своих адресатах. Брокер только доставлял сообщения, а вся логика маршрутизации и подготовки данных жила внутри баз.

Хуже того, выгрузка для баз с идентичной конфигурацией была реализована в отдельных процедурах: один и тот же объект для нескольких одинаковых баз формировали разные участки кода. Это приводило к колоссальному дублированию кода и усложняло поддержку. Любая доработка одного потока требовала изменений сразу в нескольких местах, риски ошибок росли, а сопровождение становилось неоправдано дорогим.

Клиенту требовалось не точечное улучшение, а системное решение. Мы предложили перейти к архитектуре «звезда» с DATAREON Platform в центре: логику маршрутизации и трансформации вынести в единый управляемый контур, чтобы каждая система взаимодействовала только с шиной и ничего не знала о своих получателях.

Проект включал реализацию 197 интеграционных потоков с различной бизнес-логикой и форматами данных. Срок 3-4 месяца, при этом системы продолжали работать без остановки и обмен нельзя было прерывать.

Что сделали

Провели ревизию существующих интеграций.

По условиям контракта отдельного аналитического этапа в проекте не было: предполагалось, что мы переносим уже работающие обмены на новый инструмент. Реальная архитектура с дублирующимися процедурами стала для нашей команды большим сюрпризом, поэтому разбор пришлось встраивать в ход проекта.

Начали с изучения тел сообщений, которые уходили в разные базы. Быстро выяснилось, что сообщения для одинаковых конфигураций отличаются по составу и структуре, и никто на стороне заказчика не мог объяснить, почему так сложилось. Пришлось тратить время на разборы: как все-таки должно быть правильно, какие расхождения являются осознанной бизнес-логикой, а какие накопились случайно. Задача «перенести интеграцию на другой инструмент» превратилась в большую ревизию существующих интеграций.

Параллельно фиксировали фактическую картину: какие базы участвуют во взаимодействии, какие потоки реализованы, где дублируется логика, какие данные критичны для операционной деятельности, какие интеграции работают под высокой нагрузкой, где есть исторические доработки и нестандартная логика. На основе этого сформировали целевую архитектуру и поэтапный план переноса потоков, чтобы не останавливать рабочие процессы компании.

Автоматизировали разбор интеграционного кода.

Чтобы не тратить дорогое время разработчиков и аналитиков на ручное хождение по конфигураторам, написали парсер на Python. Он выгружал модули исходников конфигураций, связанные с обменом. Помогло то, что интеграция с RabbitMQ во всех базах была реализована по единой архитектуре: расширения имели общую структуру и набор типовых модулей, а специфика каждой конфигурации была вынесена в отдельные частные модули. Благодаря этому расположение и назначение нужного кода были достаточно предсказуемыми для автоматического разбора.

Выгруженный интеграционный код собрали в документацию на MkDocs и разместили на внутреннем портале. В результате аналитик или разработячик мог, не открывая конфигураторы, быстро пройтись по всем процедурам, связанным с конкретным выгружаемым или загружаемым объектом, и сравнить, как один и тот же объект обрабатывается в разных базах.

Каждый поток имел свою бизнес-логику, формат данных и требования к обработке. Часть сценариев в процессе была уточнена, часть оптимизирована, некоторые добавлены по итогам ревизии. Перенос выполняли поэтапно, без остановки рабочих систем.

Запустили обмен серией контролируемых переключений.

Поскольку переход шел поэтапно, DATAREON и старые механизмы обмена какое-то время работали одновременно. Уже на первых потоках поймали дублирование контактной информации физических лиц. Причина оказалась в одновременной работе двух механизмов: старого обмена через RabbitMQ и типовой синхронизации 1С. По всей видимости, при переходе с типовой синхронизации 1С на обмен через RabbitMQ типовой механизм не отключили. В результате оба обмена годами работали параллельно и фактически дважды передавали одни и те же данные.

Отдельная сложность возникла из-за отсутствия актуального описания существующей схемы обмена. В ряде случаев объект, поступивший в принимающую базу через DATAREON, после записи автоматически регистрировался к отправке уже типовым механизмом обмена 1С. Это создавало риск зацикливания: данные могли уйти обратно в исходную систему, снова попасть в интеграционный контур и начать циркулировать между базами. Такие зависимости приходилось выявлять уже в процессе перевода конкретных потоков.

Перед миграцией мы сразу предусмотрели порядок отката на старый механизм, и это себя оправдало. После переключения команда следила за архивом сообщений DATAREON и поведением систем-получателей. Если возникала существенная проблема, отдельные потоки возвращались на старую механику, устранялась причина, проводилось повторное тестирование и предпринималась новая попытка перехода.

В результате промышленный запуск был не одной датой, а серией управляемых переключений без простоя в работе.

Решили вопрос с «пропущенными» сообщениями.

После первых переносов выяснилась еще одна эксплуатационная особенность. В старой системе часть сообщений считалась пропущенными по бизнес-логике: например, данные связанные с физлицом не передавались, если связанного физического лица не должно было быть в принимающей базе. При этом нужно было сохранить возможность анализировать такие неотправленные сообщения. Решили отправлять их в архив DATAREON.

Заказчик запросил хранение таких сообщений в течение 30 дней, и оказалось, что их очень много. Никто ранее не хранил такие объемы в архиве DATAREON, и у продукта начались технические проблемы. Спасибо поддержке вендора, быстро разобрали инцидент и прислали патч, после чего проект пошел дальше.

Построили мониторинг под службу сопровождения.

По мере роста числа перенесенных потоков возник следующий вопрос: как всем этим пользоваться службе сопровождения? Нужно было отвечать на прикладной вопрос: «Что произошло вот с этим договором, физическим лицом или банковским счетом?». Сервиса аналитики DATAREON на тот момент еще не было, а стандартных средств центра мониторинга для этого не хватало.

Сначала мы построили централизованную систему сбора логов на стеке Loki + Grafana. Но у Grafana есть порог входа для тех, кто с ней не знаком, и команда сопровождения 1С отказалась ей пользоваться. Для них мы сделали отдельную обработку мониторинга DATAREON прямо в привычном интерфейсе 1С, она взаимодействовала с логами в Loki, центром мониторинга DATAREON и с базой 1С. Из нее специалист может просматривать сообщения, переходить к объекту 1С по типу данных и идентификатору либо MDM-ключу, смотреть связанные события журнала регистрации за время обработки сообщения и анализировать отмененные сообщения.

Таким образом, к концу проекта речь шла уже не просто о внедрении интеграционной платформы: вокруг нее сформировался полноценный эксплуатационный инструментарий.

Автоматизировали подготовку документации.

В конце проекта стояла задача задокументировать все 197 потоков. Здесь нас снова выручил Python. DATAREON хранит весь интеграционный код и настройки внутри своей конфигурации, а конфигурация лежит в Git. Поэтому ее можно взять из репозитория, распарсить и получить все настройки маршрутов, трансформаций и подключений в структурированном виде.

Мы заранее заложили это в процесс разработки: комментарии, отражающие особенности реализации, разработчики помечали тройным слэшем «///». Парсер собирал такие комментарии и вставлял их в документацию рядом с соответствующими настройками.

В итоге около 80% документации мы получили напрямую из конфигурации DATAREON. Это документация, которая точно соответствует тому, что работает в продуктиве, а не тому, что помнят разработчики: достоверная, актуальная, с перекрестными ссылками между потоками, объектами и правилами. Вручную писали только концептуальную часть и описание эксплуатационных процедур.

Передали компетенцию заказчику.

Требование передать знания внутренней команде стояло с самого начала. 197 потоков были только первой очередью: общее количество потоков в ландшафте оценивалось в 600-800. Делать такой объем силами подрядчика очень дорого, поэтому единственный разумный путь для заказчика: развивать собственную компетенцию по платформе.

Договорились так: на все время проекта заказчик выделяет своего разработчика, и он работает у нас как удаленный сотрудник. Ходит на внутренние проектные встречи, коммитит в наш Git, пользуется нашими внутренними инструментами и наработками и выполняет задачи, которые ему ставит наш ведущий разработчик. То есть не «сидит рядом и смотрит», а делает реальные потоки по нашей проектной технологии.

Здесь нам повезло: специалиста выделили сильного, и получилась настоящая win-win синергия. Он получил от нас экспертизу по интеграционному продукту, инструменты, подходы и проектную технологию. Мы получили опытного разработчика, который знает интегрируемые системы изнутри. А если какую-то систему он не знал, то знал, к кому обратиться и как найти концы. В крупной компании это отдельная непростая задача, и наличие «своего» человека внутри заметно экономило время на согласованиях и поиске ответственных.

В результате заказчик получил не просто обученного администратора, а разработчика, который прошел вместе с нами весь цикл: от ревизии старых обменов до промышленного запуска и мониторинга. Компания снизила зависимость от внешнего подрядчика и готова развивать интеграционный контур своими силами.

Результат:

  • Интеграции перевели со схемы «точка-точка» на централизованную архитектуру. Каждая система работает через шину и ничего не знает о своих получателях.

  • Нагрузка на базы 1С снизилась: вместо множества параллельных выгрузок данные отправляются один раз, а дальше шина распределяет их по нужным системам.

  • Изменения больше не требуют правок в нескольких местах. Логику обмена можно корректировать централизованно, без лишних рисков.

  • Убрали дублирование кода и бизнес-правил. Поддержка стала проще и предсказуемее.

  • Появился прозрачный мониторинг на двух уровнях: Loki + Grafana для инженеров и обработка в 1С для службы сопровождения. Аналитики видят статусы потоков, ошибки и очереди в режиме реального времени и могут отследить судьбу конкретного объекта. Если возникает инцидент, его можно быстро локализовать и устранить.

  • Запуск новых интеграций занимает меньше времени, так как есть единая архитектура и отработанные механизмы.

  • На все потоки есть достоверная документация, сгенерированная из конфигурации DATAREON, а значит, не расходящаяся с тем, что работает в продуктиве.

  • У компании есть собственный разработчик, прошедший весь проект вместе с нашей командой, и компетенция для сопровождения и развития интеграционного контура внутри.

Этот проект показал, что интеграционная архитектура напрямую влияет на устойчивость бизнеса. Когда обмены строятся по принципу «быстро подключили и работает», рано или поздно система упирается в предел по масштабируемости: количество связей растет, сложность увеличивается, поддержка начинает стоить дороже развития. И наличие брокера сообщений само по себе от этого не спасает, если логика маршрутизации остается внутри каждой системы. Теперь подключение новых систем или изменение логики обмена не отдельный проект с непредсказуемыми последствиями, а рабочий процесс в рамках единой платформы.

View the original on Хабр →

KioskNews shows a cleaned-up reading view extracted from the publisher’s page — the original always lives on their site, not ours.