Distributed transactions in microservice architecture: informed decision-making strategies
Loading...
Date
Authors
Journal Title
Journal ISSN
Volume Title
Publisher
Національний університет «Львівська політехніка»
Abstract
The emergence of microservice architecture has revolutionized software development practices by decentralizing components, facilitating scalability, and enabling agility in system design and
deployment. There are some benefits of incorporating microservices instead of a single server, however, distributed components introduce extra constraints and complexities in maintaining data consistency as well. As microservices interact independently, coordinating data updates across multiple services becomes challenging, particularly in scenarios where transactional integrity is required. Distributed transactions are one of the solutions for ensuring data consistency across services. Regardless of effectiveness distributed transactions entail different trade-offs and performance implications. Those trade-offs are not always justified. This study highlights the need for a nuanced understanding of distributed transactions in microservices by revisiting challenges in managing distributed transactions within data storage systems. It also represents existing solutions to the different distributed transaction methods. In this paper, through experiments comparing microservices and monolithic systems, the impact of distributed transactions on system performance is evaluated, giving intuition about consequences when a single data source transaction is migrated to the distributed environment. This research also contributes to enhancing understanding and decision-making regarding the utilization of distributed transactions in a microservices architecture. Ultimately, this paper presents an optimized decision-framework for the application of distributed transactions in microservices architecture, aiming to simplify and expedite processes of software architecture for software engineers, solution architects, and developers. Виникнення мікросервісної архітектури істотно модернізувало практики розроблення програмного забезпечення завдяки децентралізації компонентів, що полегшило масштабованість та сприяло гнучкості у проєктуванні та впровадженні систем. Використання мікросервісів замість одного сервера має певні переваги, проте розподілені компоненти також спричиняють додаткові обмеження та складнощі у підтримці узгодженості даних. Оскільки міскросервіси взаємодіють незалежно один від одного, координація оновлень даних через кілька сервісів ускладнюється, особливо в сценаріях, де потрібна транзакційна цілісність даних. Розподілені транзакції – одне із рішень для забезпечення узгодженості даних між сервісами. Незважаючи на ефективність, розподілені транзакції передбачають різні компроміси та вплив на загальну продуктивність системи. Це дослідження підкреслює потребу у виваженому розумінні розподілених транзакцій у мікросервісах, повертаючись до викликів у керуванні розподіленими транзакціями в системах зберігання даних. Досліджено також відомі рішення для різних методів розподілених транзакцій. В цій роботі оцінено вплив розподілених транзакцій на продуктивність, зроблено висновки про наслідки перенесення транзації з однієї бази даних у розподілене середовище на підставі експериментів, у яких порівнювали мікросервісні та монолітні системи. Це дослідження також сприяє покращенню розуміння та прийняттю рішень щодо використання розподілених транзакцій у міскросервісній архітектурі. В підсумку запропоновано оптимізований метод прийняття рішень для застосування розподілених транзакцій у мікросервісній архітектурі, спрямований на спрощення та прискорення процесів проєктування програмного забезпечення для програмістів, архітекторів рішень та розробників.
Description
Citation
Bashtovyi A. Distributed transactions in microservice architecture: informed decision-making strategies / Artem Bashtovyi, Andrii Fechan // Вісник Національного університету “Львівська політехніка”. Серія: Інформаційні системи та мережі. — Львів : Видавництво Львівської політехніки, 2024. — № 15. — С. 449–459.