'
Научный журнал «Вестник науки»

Режим работы с 09:00 по 23:00

zhurnal@vestnik-nauki.com

Информационное письмо

  1. Главная
  2. Архив
  3. Вестник науки №6 (75) том 3
  4. Научная статья № 217

Просмотры  81 просмотров

Тришин Е.А.

  


ИССЛЕДОВАНИЕ БРОКЕРОВ СООБЩЕНИЙ В ПРИЛОЖЕНИЯХ С МИКРО-СЕРВИСНОЙ АРХИТЕКТУРОЙ *

  


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

Ключевые слова:
микросервисы, брокеры сообщений, технологии   


Введение.Прежде чем приступать к исследованию брокеров сообщений, необходимо разобраться что это такое и рассмотреть архитектуры конкретных реализаций. В период популярности разработки клиентских приложений с микросервисной архитектурой существует несколько моделей взаимодействиями между сервисами, рассмотрим асинхронную и синхронную.Синхронная модель взаимодействия подразумевает использование HTTP – запросов, когда клиентский сервис отправляет запрос сервису, который производит поиск в базе данных и блокируется, ожидая ответа. В это время другие операции на стороне клиента приостанавливаются до ответа сервера.При асинхронном взаимодействии клиент отправляет запрос, но не блокируется ожиданием ответа, вместо этого он продолжает работу. Таким образом, при синхронном взаимодействии могут выполняться действия, требующие больших временных затрат, например, рендеринг видео или запрос в большую базу, в таком случае клиент будет ждать очень долго. Для избежания подобного сценария, используют асинхронное взаимодействие, когда клиент отправляет большой запрос, а потом позволяет пользователю позволяет дальше просматривать сайт, но возникает проблема, как убедиться, что сервис на стороне сервера получил запроса и рано или поздно его обработает?В таком случае нам поможет узел системы, который будет работать как курьерская служба – брокер сообщений. Он берет на себя роль гаранта доставки данных – принимает запросы от первого сервиса и ожидает ответа от другого, пока первый продолжает работу. Данная модель представлена на рисунке 1.Рисунок 1. Схема асинхронной модели.RabbitMQ — это брокер распределенных сообщений, который собирает потоковые данные из нескольких источников и маршрутизирует их в разные пункты назначения для обработки. Передача основана на протоколе AMQP (Advanced Message Queuing Protocol) – это открытый протокол передачи сообщений, который нужен для общения разных частей системы между собой. Архитектура представлена на рисунке 2.Рисунок 2. Архитектура RabbitMQ.Архитектура Apache Kafka Концепция Kafka проста и эффективна: это система для записи и хранения данных, предоставляющая их по запросу. В отличие от других решений с более сложными конфигурациями и механизмами доставки сообщений, Kafka предлагает основное преимущество — упрощённую архитектуру и надёжное хранение данных. Архитектура представлена на рисунке 3.Рисунок 3. Архитектура Apache Kafka.Сравнение брокеров.Для проведения сравнительного анализа, напишем простые 2 приложения, в одном в качестве брокера сообщений будет использоваться Apache Kafka, а в другом RabbitMQ.Исходя из архитектуры и настройки брокеров сообщений перед использованием, RabbitMQ предлагает более гибкую настройку для маршрутизации сообщений, что позволяет динамически изменять привязки между обменниками и очередями во время выполнения.Самой важной частью брокеров сообщений является производительность, используя написанные предложения произведем замеры пропускной способности, насколько каждая система близка к передаче сообщений в реальном времени, включая конечные задержки до 99.9 процентиля, таким образом Kafka обеспечивает наилучшую пропускную способность (605 Мб/с) при наименьших задержках(5 мс), при более низкой пропускной способности (38 Мб/с) доставляет сообщения с очень низкими задержками (1 мс), результаты представлены на рисунках 4-5.Рисунок 4. График пропускной способности.Рисунок 5. График задержек.Заключение.RabbitMQ представляет собой классический брокер сообщений, основанный на принципах AMQP и обеспечивающий богатый набор функций для маршрутизации и управления очередями. Apache Kafka, в свою очередь, использует распределенную архитектуру и журналоподобный подход к обработке сообщений, что позволяет ему эффективно масштабироваться и обеспечивать высокую пропускную способность.Проведенные тесты и анализ показали, что Apache Kafka превосходит RabbitMQ в сценариях с высокими объемами данных и требованиями к пропускной способности. Kafka более эффективен при работе с большими потоками данных, благодаря своей архитектуре и механизму партиционирования. Также, RabbitMQ предлагает более широкие возможности для настройки маршрутизации сообщений, что делает его удобным для сложных сценариев обмена сообщениями. Kafka, в свою очередь, предоставляет мощные инструменты для обработки потоков данных и гарантирует высокую надежность доставки сообщений за счет своей архитектуры хранения и репликации.   


Полная версия статьи PDF

Номер журнала Вестник науки №6 (75) том 3

  


Ссылка для цитирования:

Тришин Е.А. ИССЛЕДОВАНИЕ БРОКЕРОВ СООБЩЕНИЙ В ПРИЛОЖЕНИЯХ С МИКРО-СЕРВИСНОЙ АРХИТЕКТУРОЙ // Вестник науки №6 (75) том 3. С. 1469 - 1474. 2024 г. ISSN 2712-8849 // Электронный ресурс: https://www.вестник-науки.рф/article/16086 (дата обращения: 16.05.2025 г.)


Альтернативная ссылка латинскими символами: vestnik-nauki.com/article/16086



Нашли грубую ошибку (плагиат, фальсифицированные данные или иные нарушения научно-издательской этики) ?
- напишите письмо в редакцию журнала: zhurnal@vestnik-nauki.com


Вестник науки © 2024.    16+




* В выпусках журнала могут упоминаться организации (Meta, Facebook, Instagram) в отношении которых судом принято вступившее в законную силу решение о ликвидации или запрете деятельности по основаниям, предусмотренным Федеральным законом от 25 июля 2002 года № 114-ФЗ 'О противодействии экстремистской деятельности' (далее - Федеральный закон 'О противодействии экстремистской деятельности'), или об организации, включенной в опубликованный единый федеральный список организаций, в том числе иностранных и международных организаций, признанных в соответствии с законодательством Российской Федерации террористическими, без указания на то, что соответствующее общественное объединение или иная организация ликвидированы или их деятельность запрещена.