An approach for supporting transparent acid transactions over heterogeneous data stores in microservice architectures
-
Published:2024
Issue:1
Volume:21
Page:167-202
-
ISSN:1820-0214
-
Container-title:Computer Science and Information Systems
-
language:en
-
Short-container-title:ComSIS
Author:
Nikolic Lazar1, Dimitrieski Vladimir1ORCID, Celikovic Milan1
Affiliation:
1. University of Novi Sad, Faculty of Technical Sciences, Novi Sad, Serbia
Abstract
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.
Publisher
National Library of Serbia
Reference73 articles.
1. Adya, A., Liskov, B., O’Neil, P.: Generalized isolation level definitions. In: Proceedings of 16th International Conference on Data Engineering (Cat. No.00CB37073). pp. 67-78. IEEE Comput. Soc, San Diego, CA, USA (2000), http://ieeexplore.ieee.org/document/839388/ 2. Akkoorath, D.D., Tomsic, A.Z., Bravo, M., Li, Z., Crain, T., Bieniusa, A., Preguica, N., Shapiro, M.: Cure: Strong Semantics Meets High Availability and Low Latency. In: 2016 IEEE 36th International Conference on Distributed Computing Systems (ICDCS). pp. 405- 414. IEEE, Nara, Japan (Jun 2016), http://ieeexplore.ieee.org/document/7536539/ 3. Arora, V., Nawab, F., Agrawal, D., Abbadi, A.E.: Typhon: Consistency Semantics for Multi- Representation Data Processing. In: 2017 IEEE 10th International Conference on Cloud Computing (CLOUD). pp. 648-655. IEEE, Honolulu, CA, USA (June 2017), http://ieeexplore.ieee.org/document/8030645/ 4. Bailis, P., Davidson, A., Fekete, A., Ghodsi, A., Hellerstein, J.M., Stoica, I.: Highly available transactions: virtues and limitations. Proceedings of the VLDB Endowment 7(3), 181-192 (November 2013), https://dl.acm.org/doi/10.14778/2732232.2732237 5. Bailis, P., Ghodsi, A., Hellerstein, J.M., Stoica, I.: Bolt-on causal consistency. In: Proceedings of the 2013 ACM SIGMOD International Conference on Management of Data. pp. 761-772. ACM, New York New York USA (June 2013), https://dl.acm.org/doi/10.1145/2463676.2465279
|
|