An approach for supporting transparent ACID transactions over heterogeneous data stores in microservice architectures
Computer Science and Information Systems, Tome 21 (2024) no. 1.

Voir la notice de l'article provenant de la source Computer Science and Information Systems website

Microservice architectures (MSA) are becoming a preferred architectural style for data-driven applications. A transaction within MSA can include remote calls to multiple services, turning it into a distributed transaction. Participating services may have their own data stores running local transactions with varying levels of transactional support and consistency guarantees. Coordinating distributed transactions in such an environment is a key challenge for MSA. The existing approaches are either highly consistent at the expense of scalability or scalable at the expense of consistency. Furthermore, implementing any of them requires architectural and code adaptation. In this article, we present the Service Proxy Transaction Management (SPTM) approach, which offers scalable reads and ACID transactions in MSA. The novelty of this approach is that it is based on intercepting inbound messages to services, rather than having services directly communicate with a transaction manager. As a result, transaction management is completely transparent to services and has little-to-no impact on code or architecture. We provide experimental results showing that SPTM can outperform lock-based approaches by up to a factor of 2, while still providing high consistency without the scaling bottleneck associated with locking.
Keywords: distributed transaction management, consistency, microservice, saga, 2pc, acid, base
@article{CSIS_2024_21_1_a12,
     author = {Lazar Nikoli\'c and Vladimir Dimitrieski and Milan \v{C}elikovi\'c},
     title = {An approach for supporting transparent {ACID} transactions over heterogeneous data stores in microservice architectures},
     journal = {Computer Science and Information Systems},
     publisher = {mathdoc},
     volume = {21},
     number = {1},
     year = {2024},
     url = {http://geodesic.mathdoc.fr/item/CSIS_2024_21_1_a12/}
}
TY  - JOUR
AU  - Lazar Nikolić
AU  - Vladimir Dimitrieski
AU  - Milan Čeliković
TI  - An approach for supporting transparent ACID transactions over heterogeneous data stores in microservice architectures
JO  - Computer Science and Information Systems
PY  - 2024
VL  - 21
IS  - 1
PB  - mathdoc
UR  - http://geodesic.mathdoc.fr/item/CSIS_2024_21_1_a12/
ID  - CSIS_2024_21_1_a12
ER  - 
%0 Journal Article
%A Lazar Nikolić
%A Vladimir Dimitrieski
%A Milan Čeliković
%T An approach for supporting transparent ACID transactions over heterogeneous data stores in microservice architectures
%J Computer Science and Information Systems
%D 2024
%V 21
%N 1
%I mathdoc
%U http://geodesic.mathdoc.fr/item/CSIS_2024_21_1_a12/
%F CSIS_2024_21_1_a12
Lazar Nikolić; Vladimir Dimitrieski; Milan Čeliković. An approach for supporting transparent ACID transactions over heterogeneous data stores in microservice architectures. Computer Science and Information Systems, Tome 21 (2024) no. 1. http://geodesic.mathdoc.fr/item/CSIS_2024_21_1_a12/