25 октября 2022

1С:Шина, RabbitMQ и Apache Kafka – сравнение интеграционных возможностей для формирования микросервисной архитектуры компании

Прежде чем начать сравнивать возможности этих программных продуктов, необходимо признать, что представленное ПО имеет разные области применения. RabbitMQ и Apache Kafka являются брокерами сообщений. А 1С:Шина — это полноценная шина данных, главной задачей которой является создание информационной корпоративной системы путём интеграции в неё других систем, каждая из которых выполняет собственные функции и решает определенный перечень специфических задач.

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

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


Функциональные возможности шины данных

Основные функциональные возможности, характерные для шины данных:

  • канал — сообщения от отправителя должны храниться до их получения адресатом путём запроса «до востребования»;
  • адаптеры — наличие почтового интерфейса, в который могут быть интегрированы различные системы, обмен электронными сообщениями, также функция, обеспечивающая возможность самостоятельного сбора сообщений, адресованных определённым получателям;
  • маршрутизатор — выполняет функцию контроля и распределения трафика по разным каналам, обладает широким перечнем инструментов для введения ограничений и запретов, предоставления привилегий и других способов различения прав в зависимости от бизнес-логики корпорации;
  • транслятор — выполняет контроль сообщений, проходящих через каналы машины на предмет их структуры, и при необходимости изменяет формат на общепринятый в корпорации;
  • администрирование — предоставляет возможности мониторинга системы, как по записям в логах, так и в режиме онлайн. Позволяет видеть и анализировать информацию об отправке, доставке и истории модерации сообщений, и в количестве, а также предоставляет развёрнутую информацию об ошибках;
  • интерфейс low-code — через него осуществляется изменение конфигурации шины, её каналов, правил адаптера и маршрутизатора, а также выполняется оперативное исправление ошибок, что позволяет быстро решать возникшие проблемы по трансформации данных и изменении конфигурации.

Схема шины данных

Возможности 1С:Шина, RabbitMQ и Apache Kafka

Если принимать во внимание описанный выше функционал в качестве основных требований к микросервисной архитектуре корпоративной системы, то перечисленное ранее ПО будет соответствовать запросам следующим образом.

1С:Шина является полноценным ESB Enterprise Service Bus Сервисная шина предприятия — связующее программное обеспечение, обеспечивающее централизованный и унифицированный событийно-ориентированный обмен сообщениями между различными информационными системами на принципах сервис-ориентированной архитектуры. и в её стандартную версию входят следующие возможности:

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

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

Брокеры сообщений, такие как RabbitMQ и Apache Kafka, не имеют полноценного интерфейса, позволяющего настраивать каналы, адаптеры и маршруты.

Они характеризуются ограниченными функциональными возможностями и фактически выполняют только транспортные задачи. При этом, если Apache Kafka ещё выполняет логирование, хоть и с ограниченным временем хранения информации по сообщениям, то RabbitMQ логи не ведёт.

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


Подводя итоги

RabbitMQ и Apache Kafka являются хорошими брокерами сообщений, однако не имеют всех функциональных возможностей шины данных класса ESB, в отличие от 1С:Шины. Фактически они являются только одним из элементов полноценной шины данных. 

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

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

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

Обратитесь к нам сегодня!
Мы подберём решение специально для вашего бизнеса

Отзывы клиентов

«Компания Первый БИТ проявился себя как компетентный разработчик программных решений и надёжный партнёр по автоматизации финансовых процессов и управленческого учёта. Мы довольны функционалом и качеством программы "БИТ.ФИНАНС. Управленческий учёт" и надеемся на дальнейшее плодотворное сотрудничество».
Ю.А. Гущина
финансовый директор
Выражаем благодарность специалистам Ernst & Young и Первого Бита за ответственный подход к решению масштабных задач, поиск решения для любой задачи, соблюдение сроков и договорённостей.
Михаил Юрьевич Логанов
генеральный директор
«Операционный департамент получил удобный механизм для внесения в систему данных о товарах и формирования заказов поставщику, в системе вносятся плановые данные по ОТВ, отслеживаются все складские движения товаров, рассчитывается рентабельность продаж с учётом разнесённых дополнительных затрат, реализована интеграция со сторонними системами».
Всеволод Бурмистров
Руководитель группы контроля бизнес-процессов Shopping Live