Розробка методології імплементації транзакцій в розподілених системах з мікросервісною архітектурою

Loading...
Thumbnail Image
Date
2024
Authors
Глибовець, Андрій
Чернова, Тетяна
Глибовець, Микола
Journal Title
Journal ISSN
Volume Title
Publisher
Abstract
У роботі описано аналіз проблематики використання мікросервісної архітектури в розподілених системах. Наголос зроблено на гнучкості у виборі технологій, масштабованості та організації команд, які працюють над заданими мікросервісами, технічних і доменних проблемах реалізації транзакцій у порівнянні з монолітною системою. Основну увагу приділено транзакціям, оскільки вони забезпечують дотримання атомарності, консистентності, ізольованості та стійкості над декількома сервісами. У процесі аналізу сучасних підходів та рішень для роботи з транзакціями в розподілених системах було виявлено, що одним з ефективних рішень є використання патерну Transactional Outbox. Представлено його реалізацію у вигляді Spring starter. Останній додається до системи, конфігурується та полегшує використання транзакцій і публікацію подій, які є частинами транзакції у мікросервісній архітектурі.
Description
The paper describes the analysis of the problems of using microservice architecture in distributed systems. Emphasis is placed on flexibility in the choice of technologies, scalability and organization of teams working on given microservices, technical and domain problems of transaction implementation in comparison with a monolithic system. The main focus is on transactions, as they ensure atomicity, consistency, isolation, and persistence across multiple services. In the process of analyzing modern approaches and solutions for working with transactions in distributed systems, it was found that one of the effective solutions is the use of the Transactional Outbox pattern. Its implementation in the form of Spring starter is presented. The latter is added to the system, configured and facilitates the use of transactions and the publication of events that are part of a transaction in a microservice architecture. The developed methodology for implementing distributed transactions based on message queues, using the above-mentioned starter, is described in detail. The basic configurations and settings of message queues for the correct operation of transactions in distributed systems are defined
Keywords
розподілена система, розподілені транзакції, мікросервісна архітектура, патерн Transactional Outbox, асинхронне спілкування, Kafka, Debezium, стаття, distributed system, distributed transactions, microservice architecture, Transactional Outbox pattern, asynchronous communication, Kafka, Debeziu
Citation
Глибовець А. М. Розробка методології імплементації транзакцій в розподілених системах з мікросервісною архітектурою / А. М. Глибовець, Т. А. Чернова, М. М. Глибовець // Проблеми програмування. - 2024. - № 1.- С. 64-76. - https://doi.org/10.15407/pp2024.01.064