ЕМДЕВ

@emdev
+216
с 13.02.2026

Блог компании ЕМДЕВ https://www.emdev.ru/. Об интранете, интеграционных шинах, low/no-code и немного об ИИ

25 подписчиков
0 подписок

Вы все верно написали. Шина сама по себе не решает проблему надёжности и может превратиться в «красиво оформленную» точку отказа, если не продумать доставку событий end‑to‑end.

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

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

2

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

2

Для компаний среднего размера достаточно начать с двух узлов платформы и брокера + базовый мониторинг и алерты. Все остальное - кластерные СУБД, геораспределенность, сложные сценарии DR - уже история для энтерпрайза с особыми требованиями. Важно не усложнять архитектуру раньше времени, но и не запускать критичные процессы на одиночном узле без резервирования.

3

Согласны, в реальной жизни поток оплаты гораздо сложнее прямой цепочки «оплатил → обновили заказ».
Онлайн фрод, частичные возвраты, блокировки, отсроченные платежи, ручные проверки службы безопасности — все это добавляет ветвления и альтернативные сценарии. Именно здесь шина и событийная модель начинают играть свою настоящую роль:
1) Каждое важное состояние (успешная оплата, подозрение на фрод, частичный возврат, окончательное подтверждение, отмена по таймауту) оформляется как отдельное событие, а не как «особый случай» внутри одного вызова.
2) Разные системы подписываются только на те события, которые им нужны: 1С - на учетные операции, антифрод сервис - на подозрительные транзакции, аналитика - на полную ленту.
3) Логика обработки усложняется не за счет разрастания одного «монолитного» обмена 1С–CRM, а за счет добавления новых маршрутов и подписчиков в интеграционном слое.

То есть при усложнении процесса шина помогает не тем, что «упрощает» жизнь, а тем, что структурирует сложность - видно, какие шаги цепочки реализованы событиями; понятно, кто за какое состояние отвечает; легче добавлять новые ветки (например, отдельный маршрут для спорных платежей) без переписывания всего сценария.

3

Kafka действительно часто воспринимается как что то «из мира больших данных», т.е. стриминг логов, метрик, телеметрии. Но по сути это всего лишь устойчивый, масштабируемый механизм доставки событий. И когда на этот механизм «сажают» понятные бизнес сценарии вроде статусов заказов, он перестает быть чем то абстрактным и становится вполне прикладным инструментом.
В связке «CRM публикует → шина маршрутизирует → 1С подписывается» как раз хорошо видно, что Kafka не обязательно должна обслуживать терабайты потоков. Она может быть «шиной событий» для повседневных операций: оплаты, изменения статусов, обновления остатков, уведомления клиентов.
Дальше эту идею можно развивать - к тем же событиям подключать, например, витрину, WMS или систему аналитики, не дублировать интеграции, а просто добавлять новых подписчиков.
Если будет интерес, в отдельном материале можно собрать еще несколько «жизненных» кейсов использования Kafka именно для прикладных задач, а не только для классического стриминга больших данных.

2

Хороший вопрос и его обязательно стоит поднимать на старте проекта.
Если вкратце: отказоустойчивость шины обычно строится за счет кластеризации (несколько узлов платформы и брокера), резервирования критичных компонентов, вынесения хранилищ на отказоустойчивые СУБД и обязательного мониторинга с алертами по ключевым метрикам (доступность, задержки, очереди сообщений). Конкретная схема зависит от инфраструктуры заказчика, но в продовых контурах мы всегда закладываем именно кластерный, а не «одиночный» вариант интеграционного слоя.

3

Хороший и очень практичный вопрос. Короткий ответ: да, сочетать можно и в реальных проектах так часто и делают. Но важно понимать, какую роль играет каждый механизм.

Как сочетать шину и «классический» обмен 1С:
• Шина как внешний контур, 1С механизмы как внутренние
Часто шину используют для обмена между системами (CRM, витрины, WMS, внешние сервисы), а внутри самого контура 1С продолжают работать регламентированные задания, планы обмена, фоновые обработки. То есть шина не заменяет все, а становится «наружным интерфейсом» 1С.
• Постепенный переход, а не “режим рубильника”
На старте логично оставить часть обменов как есть (файлы, регламенты), а на шину выносить критичные и новые сценарии: онлайн оплаты, статусы заказов, синхронизацию с CRM. Это снижает риски и дает команде время освоить событийный подход.
• Шина как «обертка» над существующими механизмами
Иногда 1С физически продолжает читать/писать файлы или работать через регламентные задания, но уже не напрямую с другими системами, а через адаптер к шине. Для 1С это «все тот же обмен», а для архитектуры это шаг к более управляемой модели.

Когда имеет смысл максимально переходить к событиям:
• когда много требований к почти реальному времени (онлайн оплаты, склад, доставка);
• когда растет количество подключаемых систем и нужно избежать «паутинки» прямых связей;
• когда критична наблюдаемость (кто, когда и какие данные отправил/получил).

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

4

Хороший вопрос и его обязательно стоит поднимать на старте проекта.
Если вкратце: отказоустойчивость шины обычно строится за счет кластеризации (несколько узлов платформы и брокера), резервирования критичных компонентов, вынесения хранилищ на отказоустойчивые СУБД и обязательного мониторинга с алертами по ключевым метрикам (доступность, задержки, очереди сообщений). Конкретная схема зависит от инфраструктуры заказчика, но в прод-контурах мы всегда закладываем именно кластерный, а не «одиночный» вариант интеграционного слоя.

2

Полностью согласны с вами. Причем сильная сторона Инкоманд в том что он вырос из конструктора интерфейсов в no-code, а значит не страдает болезнью большинства NLC-платформ - бедным, плохо редактируемым интерфейсом

2

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

Подробнее об объектной модели вы можете почитать в нашем блоге https://incomand.ru/blog/-/blogs/objhhektih-incomand-7-4-kak-prevratitjh-korporativnihy-portal-v-konstruktor-prilozheniy

И как вишенка на торте пример «живой» синхронизации со списками Sharepoint https://incomand.ru/blog/-/blogs/sharepoint_incomand_sync

1