Реалізація підходу CQRS у розподіленій програмній системі з використанням брокеру повідомлень Kafka
| dc.contributor.author | Іващенко, Дмитро Володимирович | |
| dc.date.accessioned | 2026-09-01T11:26:48Z | |
| dc.date.issued | 2025 | |
| dc.description | Керівник: Паршенцев Богдан Володимирович, старший викладач кафедри інтелектуальних програмних систем і технологій | |
| dc.description.abstract | Робота присвячена імплементації шаблону отримання даних Command and Query Responsibility Segregation (CQRS) у межах розробки застосунку з мікросервісної архітектури із застосуванням брокеру повідомлень Apache Kafka, що надає покращену масштабованість, доступність та спрощення підтримки застосунку. Проведено аналіз існуючих рішень, опрацьовано найкращі практики розробки мікросервісних застосунків з акцентом на коректну реалізацію CQRS з інтеграцією Apache Kafka для реалізації подієвоорієнтованої архітектури у мікросервісному застосунку. Результати роботи показали можливості реалізації сервісів у такий спосіб, що надають шляхи ефективного використання сучасних технологій, у тому числі нереляційних сховищ даних зі збереженням консистентності застосунку. Методами дослідження є аналіз відкритих джерел: Інтернет-порталів, книжних видань та дисертацій; проведення процесу Event Storming задля створення архітектури застосунку; програмна реалізація мікросервісного застосунку та його окремих частин за допомогою платформи Spring Boot. У результаті реалізації програмного коду сервісів отримано розподілену мікросервісну архітектуру користувацької платформи для роботи з сутностями кінофільмів. Такий застосунок включає в себе набір сервісів, що спілкуються між собою за допомогою у синхронний та асинхронний спосіб. Новизною такої реалізації є поєднання використання підходу CQRS та брокеру подій Apache Kafka у межах подієво-орієнтованої архітектури. | |
| dc.description.abstract | This work focuses on the implementation of the Command and Query Responsibility Segregation (CQRS) pattern within the development of a microservice-based application utilizing the Apache Kafka message broker. The chosen approach enhances scalability, availability, and simplifies maintenance. A comprehensive analysis of existing solutions was conducted, alongside a review of best practices in microservice development. Particular attention was given to the correct application of CQRS and its integration with Apache Kafka to enable an event-driven architecture. The study demonstrates how services can be implemented in a manner that leverages modern technologies—such as non-relational databases— while preserving overall system consistency. The research methodology includes the analysis of open sources: online portals, book publications, and dissertations; conducting Event Storming sessions to design the application architecture; and the software development of the microservice application and its individual components using the Spring Boot platform. As a result of the software implementation, a distributed microservice architecture was developed for a user platform centered around managing movierelated entities. The application consists of a suite of services that interact through both synchronous and asynchronous communication. The novelty of this solution lies in the integration of the CQRS pattern with the Apache Kafka event broker within an event-driven architectural framework. | |
| dc.identifier.citation | Іващенко, Д. В. Реалізація підходу CQRS у розподіленій програмній системі з використанням брокеру повідомлень Kafka : кваліфікаційна робота бакалавра : спеціальність 122 – Комп'ютерні науки : освітня програма «Комп'ютерні науки» / Д. В. Іващенко ; кер. роботи Б. В. Паршенцев. – Харків : Харківський національний університет імені В. Н. Каразіна, 2025. – 76 с. | |
| dc.identifier.uri | https://ekhnuir.karazin.ua/handle/123456789/26710 | |
| dc.language.iso | uk | |
| dc.publisher | Харків : Харківський національний університет імені В. Н. Каразіна | |
| dc.subject | TECHNOLOGY::Information technology::Computer science | |
| dc.subject | асинхронна комунікація | |
| dc.subject | мікросервіси | |
| dc.subject | розподілена архітектура | |
| dc.subject | синхронна комунікація | |
| dc.subject | шестикутна архітектура | |
| dc.subject | APACHE KAFKA | |
| dc.subject | CQRS | |
| dc.subject | DDD | |
| dc.subject | docker | |
| dc.subject | event sourcing | |
| dc.subject | event storming | |
| dc.subject | HTTP | |
| dc.subject | REDIS | |
| dc.subject | REST | |
| dc.subject | SPRING BOOT | |
| dc.subject | asynchronous communication | |
| dc.subject | distributed architecture | |
| dc.subject | hexagonal architecture | |
| dc.subject | microservices | |
| dc.subject | synchronous communication | |
| dc.title | Реалізація підходу CQRS у розподіленій програмній системі з використанням брокеру повідомлень Kafka | |
| dc.type | Bachelor thesis |
Файли
Контейнер файлів
1 - 1 з 1
Вантажиться...
- Назва:
- Ivashchenko_Parshentsev_Diplom_2025.pdf
- Розмір:
- 3,91 MB
- Формат:
- Adobe Portable Document Format
