Аналіз проектних патернів та інструментальних засобів для узгодженості даних у мікросервісних застосунках

Вантажиться...
Ескіз

Дата

ORCID

DOI

Науковий ступінь

Рівень дисертації

Шифр та назва спеціальності

Рада захисту

Установа захисту

Науковий керівник/консультант

Члени комітету

Назва журналу

Номер ISSN

Назва тому

Видавець

Харків : Харківський національний університет імені В. Н. Каразіна

Анотація

Основною метою цієї кваліфікаційної роботи є розробка мікросервісного програмного забезпечення, в якому реалізовано сучасні патерни забезпечення узгодженості даних у розподілених системах. У роботі розглядається актуальна проблема забезпечення цілісності та коректності даних у розподіленому середовищі, де кожен мікросервіс є автономним, з власним сховищем даних та логікою обробки, що унеможливлює використання класичних підходів до транзакцій, як у монолітних додатках. Дослідження фокусується на проблематиці підтримки консистентного стану даних у мікросервісній архітектурі, де кожен сервіс має власне джерело істини, а загальна транзакційність системи не може бути забезпечена традиційними методами. У роботі проаналізовано сучасні підходи до реалізації транзакцій у мікросервісах та розглянуто ключові патерни, що забезпечують узгодженість: Saga (зокрема варіанти з оркестрацією та хореографією), Event Sourcing та CQRS. Визначено основні виклики, пов’язані з асинхронною обробкою, дублікатами повідомлень, забезпеченням ідемпотентності та контролем цілісності бізнес-логіки в умовах відмов. Застосунок реалізовано із використанням кількох типів узгодженості даних — сильної, слабкої та остаточної — з використанням сучасних інструментів, зокрема брокера повідомлень Apache Kafka, технології контейнеризації Docker та архітектурного стилю REST API.
The primary goal of this qualification work is the development of microservice-based software that implements modern data consistency patterns in distributed systems. This work addresses the pressing challenge of maintaining data integrity and correctness in distributed environments, where each microservice operates autonomously, with its own data store and processing logic—making traditional transaction management approaches, typical of monolithic applications, inapplicable. The research focuses on the problem of ensuring a consistent system state in a microservice architecture, where each service maintains its own source of truth, and global transactional guarantees cannot be achieved using classical methods. This work analyzes contemporary approaches to transaction management in microservices and explores key consistency patterns: Saga (including both orchestration and choreography variations), Event Sourcing, and CQRS. It identifies the main challenges associated with asynchronous processing, message duplication, idempotency, and maintaining business logic integrity in failure scenarios. The application implements various types of data consistency — strong, weak, and eventual — using modern tools such as the Apache Kafka message broker, Docker containerization technology, and REST API architectural style.

Опис

Керівник: Паршенцев Богдан Володимирович, старший викладач кафедри інтелектуальних програмних систем і технологій

Бібліографічний опис

Жестік, Марія Вячеставівна. Аналіз проектних патернів та інструментальних засобів для узгодженості даних у мікросервісних застосунках : кваліфікаційна робота бакалавра : спеціальність 122 – Комп'ютерні науки : освітня програма «Комп'ютерні науки» / М. В. Жестік ; кер. роботи Б. В. Паршенцев. – Харків : Харківський національний університет імені В. Н. Каразіна, 2025. – 51 с.

Підтвердження

Рецензія

Додано до

Згадується в