Статья опубликована в рамках: CXXIII Международной научно-практической конференции «Научное сообщество студентов XXI столетия. ТЕХНИЧЕСКИЕ НАУКИ» (Россия, г. Новосибирск, 09 марта 2023 г.)
Наука: Информационные технологии
Скачать книгу(-и): Сборник статей конференции
дипломов
ИСПОЛЬЗОВАНИЕ БРОКЕРОВ СООБЩЕНИЙ ПРИ МИКРОСЕРВИСНОМ ПОДХОДЕ
USING MESSAGE BROKERS WITH A MICRO SERVICE APPROACH
Anton Iurkov
undergraduate, Department of System Modeling and Computer-Aided Design, Moscow Aviation Institute,
Russia, Moscow
Pavel Keyno
Scientific Supervisor, PhD in technical sciences, Associate Professor, Department of System Modeling and Computer-Aided Design, Moscow Aviation Institute,
Russia, Moscow
АННОТАЦИЯ
Исследование возможностей микросервисной архитектуры при разработке современных веб приложений, а также исследование подхода на основе брокеров сообщений.
ABSTRACT
The study of the possibilities of micro-service architecture in the development of modern web applications, as well as the study of the approach based on message brokers.
Ключевые слова: разработка, микросервисы, брокеры сообщений.
Keywords: development. microserices, message brokers.
Микросервисный подход — это архитектурный подход для создания приложений, который базируется на разделении приложения на отдельные микросервисы. Каждый микросервис является отдельным процессом, который выполняет определенную функцию внутри приложения. Эти микросервисы могут быть написаны на разных языках программирования и работать на разных платформах, но вместе они образуют единое приложение.
Преимущества микросервисного подхода включают более гибкую и масштабируемую архитектуру, более быстрое развертывание приложения, улучшенную надежность и лучшую отказоустойчивость. Каждый микросервис может быть разработан и развернут отдельно, что позволяет быстрее внедрять новые функции и легче поддерживать приложение в целом. Кроме того, микросервисы позволяют использовать различные технологии внутри приложения, что обеспечивает большую свободу выбора технологий и инструментов разработки.
Однако, микросервисный подход также имеет свои недостатки. Создание микросервисной архитектуры может быть сложным и требует высокой квалификации разработчиков. Кроме того, управление и мониторинг микросервисов может быть сложным и требовать дополнительных инструментов и ресурсов. Также, приложение на основе микросервисов может быть более сложным для тестирования и отладки, особенно в случае сложных взаимосвязей между микросервисами.
Брокеры сообщений (message brokers) являются ключевым элементом микросервисной архитектуры, так как они обеспечивают эффективную коммуникацию между сервисами, позволяя им обмениваться сообщениями асинхронно.
Основная идея брокера сообщений заключается в том, что он выступает в качестве посредника между отправителем и получателем сообщения. Отправитель отправляет сообщение в брокер, который затем хранит его до тех пор, пока получатель не готов принять его. Таким образом, сервисы не связаны друг с другом напрямую и могут работать независимо друг от друга.
Существует множество брокеров сообщений, которые могут использоваться в микросервисной архитектуре, такие как RabbitMQ, Apache Kafka, Amazon SQS и многие другие. Каждый из них имеет свои особенности и может быть настроен для конкретных потребностей проекта.
Использование брокеров сообщений позволяет достичь высокой отказоустойчивости и масштабируемости системы, так как они позволяют обрабатывать большое количество сообщений и обеспечивают гарантированную доставку сообщений при сбоях в работе системы. Кроме того, брокеры сообщений позволяют улучшить производительность системы, так как сервисы могут обрабатывать сообщения асинхронно, не блокируя друг друга.
Краткая характеристика нескольких популярных брокеров сообщений:
RabbitMQ - это брокер сообщений на основе протокола AMQP (Advanced Message Queuing Protocol), который поддерживает различные типы сообщений и обеспечивает гарантированную доставку сообщений. Он является открытым и легковесным брокером, который поддерживает множество языков программирования.
Apache Kafka - это распределенная система потоковой обработки данных, которая может использоваться в качестве брокера сообщений. Он основан на публикации-подписке и обеспечивает высокую производительность и масштабируемость, а также гарантирует сохранность данных.
Amazon SQS - это управляемый сервис очередей сообщений, который обеспечивает высокую отказоустойчивость и масштабируемость. Он позволяет отправлять, хранить и получать сообщения в любом количестве, не требуя от пользователей настройки и управления инфраструктурой.
Apache ActiveMQ - это брокер сообщений на основе протокола JMS (Java Message Service), который поддерживает множество языков программирования и может быть использован как встроенный брокер сообщений для многих приложений.
Выбор брокера сообщений зависит от конкретных требований проекта и задач, которые должны быть решены. Например, для проекта, который требует высокой масштабируемости и обработки больших объемов данных, может быть подходящим выбором Apache Kafka. С другой стороны, если проект не требует обработки больших объемов данных и большей производительности, то может быть лучше использовать более легковесные брокеры, такие как RabbitMQ или Apache ActiveMQ.
Выбор брокера сообщений также может зависеть от технологий, используемых в проекте. Например, если проект разрабатывается на Java, то более подходящим выбором может быть Apache ActiveMQ, который поддерживает протокол JMS и является наиболее распространенным брокером сообщений в Java-сообществе. Если же проект разрабатывается на Python или других языках программирования, то может быть более подходящим выбором RabbitMQ, который поддерживает множество языков программирования.
В целом, выбор брокера сообщений зависит от конкретных потребностей проекта и требований к масштабируемости, производительности и другим функциональным возможностям брокера.
Список литературы:
- Sam Newman Building Microservices: Designing Fine-Grained Systems [Текст] / Sam Newman — 2-е изд. — : O'Rielly, 2022 — 615 c.
- Chris Richardson Microservices Patterns: With examples in Java [Текст] / Chris Richardson — 2-е изд. — : O'Rielly, 2018 — 520 c.
- Документация RabbitMQ // RabbitMQ URL: https://www.rabbitmq.com/documentation.html (дата обращения: 02.03.2023).
дипломов
Оставить комментарий