Еще больше интересных статей
Ознакомьтесь с нашим блогом и найдите полезные материалы для себя!
Перейти в блогВажное уточнение
В данной статье мы рассуждаем, что же выбрать для своей организации — брокер очередей или ESB, не стоит забывать, что внутри ESB также находятся брокер очередей со всем его функционалом. Таким образом, ESB включает в себя возможности как для маршрутизации, так и для трансформации данных и направления между различными цепями. В то же время брокер очередей занимается маршрутизацией данных. Брокер создаёт тему и кладёт в неё сообщения, после чего потребитель сам забирает сообщения из конкретной темы.
Рассмотрим, из чего состоит корпоративная шина данных (ESB), и за что отвечает каждый из её модулей:
Модуль, отвечающий за логистику сообщений между системами.
Этот модуль отвечает за функциональность изменения и преобразования данных. Он позволяет изменять формат сообщения для «получателя» данных, обогащать информацию или реструктурировать её до нужного вида.
Модуль, позволяющий отслеживать действия внутри системы, настраивать аутентификацию и доступ к различным компонентам. Он позволяет создавать ролевую политику и контролировать действия пользователей.
Этот модуль позволяет отслеживать производительность шины и её компонентов, активность конкретных модулей и выявлять ошибки.
Вот несколько примеров популярных корпоративных шин данных:
Apache Camel, SAP PI, IBM IIB, Oracle Service Bus, Red Hat, Factor ESB. Часть из этих производителей уже поднялись на следующую ступень “’эволюции” и стали интеграционными платформами.
Брокеры сообщений обычно состоят из нескольких ключевых модулей, каждый из которых выполняет специфическую функцию, обеспечивающую надежную и эффективную передачу сообщений. Основные модули, присутствующие в брокерах сообщений, включают:
Модуль управления очередями отвечает за создание, управление и хранение очередей сообщений.
Модуль маршрутизации определяет, как и куда будут направляться сообщения.
Модуль обработки сообщений отвечает за обработку сообщений, включая их извлечение из очереди и передачу получателям
Модуль обработки ошибок и управления отвечает за обработку ошибок в процессе передачи и обработки сообщений.
Популярные представители брокеров сообщений:
Apache ActiveMQ, RabbitMQ, Apache Kafka, MSMQ (очередь сообщений Microsoft).
Важно! Перед ознакомлением с таблицей стоит помнить, что внутри корпоративной шины данных также присутствует модуль «брокер сообщений», и весь функционал брокера включен в этот модуль.
Характеристика | Брокер сообщений | ESB | |
Функциональность | Фокусируется на надежной доставке и асинхронной обработке сообщений, предоставляя возможности очереди и публикации/подписки | Предоставляет широкие возможности интеграции, включая преобразование данных, маршрутизацию, оркестрацию, управление потоком сообщений, безопасность, мониторинг | |
Сложность | Проще в использовании и обслуживании, требует меньше вычислительных ресурсов | Более сложный из-за богатой функциональности, требует специализированных знаний для настройки и дальнейшего обслуживания. Как правило используется в кластере | |
Гибкость | Менее гибкий, но обеспечивает простоту и надежность в стандартных сценариях | Более гибкий и настраиваемый, позволяет создавать сложные интеграционные сценарии | |
Стоимость | Низкая стоимость первоначальной покупки, высокая стоимость владения на добавлении сложных сценариев | Более высокая стоимость первоначальной покупки, низкая стоимость владения за счёт скорости и удобства подключения новых систем |
Компания использует несколько различных систем для управления заказами, складскими запасами и финансами. Каждая из этих систем разработана с помощью команд и требует разных форматов данных. ESB решает проблему обмена данными между последовательностями, выступая посредником, который «переводит» данные в нужные форматы и управляет их передачей.
Пошаговое применение:
У компании есть интернет-магазин, где клиенты оформляют заказы, компания должна обработать их в первую очередь. Брокер сообщений (например, RabbitMQ или Kafka) позволяет передавать данные о заказах и выполнять обработку без ожидания каждого шага, что обеспечивает быстрое выполнение системы взаимодействия.
Пошаговое применение:
Важно! Перед ознакомлением с таблицей просим помнить, что внутри корпоративной шины данных также присутствует модуль «брокер сообщений», и весь функционал брокера включен в этот модуль.
Критерии | Брокер сообщений | ESB | |
Форматы и протоколы | Достаточно одного формата или протокола | Необходима трансформация данных и поддержка разных протоколов | |
Последовательность обработки | Допускается асинхронная обработка | Требуется четкая последовательность передачи данных, может использоваться асинхронная обработка данных | |
Надежность передачи | Важна только устойчивость к сбоям и буферизации сообщений | Необходима централизованная надежность передачи данных | |
Централизованное управление | Легкая интеграция и настройка независимых сервисов | Требуется контроль и управление потоками |
ESB больше подходит для выполнения сложных интеграций или большого количества простых, отвечающих самым строгими требованиями к данным. Тогда как брокер лучше использовать для небольшого количества простых интеграций.
Современные технологии — облачные сервисы, микросервисы, платформы low-code/no-code — меняют подходы к представлению данных и определению будущего ESB и брокеров сообщений. ESB и брокеры развиваются, чтобы поддержать новые бизнес-задачи. Они становятся гибче, доступнее и готовы к работе с новейшими технологиями, которые делают их актуальными для современных распределенных и динамичных ИТ-сред.
Рекомендации по выбору и внедрению сообщений ESB или брокера
Ознакомьтесь с нашим блогом и найдите полезные материалы для себя!
Перейти в блогПозвоните, Напишите нам
Свяжитесь с нами удобным для Вас способом