Enhancing Saga Pattern for Distributed Transactions within a Microservices Architecture

Author:

Daraghmi EmanORCID,Zhang Cheng-Pu,Yuan Shyan-MingORCID

Abstract

The saga pattern manages transactions and maintains data consistency across distributed microservices via utilizing local sequential transactions that update each service and publish messages to trigger the next ones. Failure by one transaction causes the execution of compensating transactions that counteract the preceding one. However, saga lacks isolation, meaning that reading and writing data from an incomplete transaction is allowed. Therefore, this research proposes an enhanced saga pattern that resolves the lack of isolation issue via the use of the quota cache and the commit-sync service. Some transactions will be transferred from the database layer to the memory layer. Thus, no wrong commit to the main database will occur. If a microservice fails to be completed, the other microservices will run compensation transactions to rollback the changes that only affect the cache layer instead of the database layer. Database commit will be performed when all transactions are completed successfully. A lightweight microservices-based e-commerce system was implemented for comparison. Experiments were conducted for validation and evaluation. Results demonstrate that the proposal has the capability of resolving the lack of isolation. Results indicate that the proposal achieves better performance not only in typical cases but also in the scenario that needs to handle exceptions.

Publisher

MDPI AG

Subject

Fluid Flow and Transfer Processes,Computer Science Applications,Process Chemistry and Technology,General Engineering,Instrumentation,General Materials Science

Reference31 articles.

1. Microservices: Science and Engineering;Bucchiarone,2019

2. Microservice Architectures for Scalability, Agility and Reliability in E-Commerce;Hasselbring;Proceedings of the 2017 IEEE International Conference on Software Architecture Workshops (ICSAW),2017

3. The Saga Pattern in a Reactive Microservices Environment;Štefanko;Proceedings of the 14th International Conference on Software Technologies,2019

4. High availability design patterns;Ahluwalia;Proceedings of the 2006 conference on Pattern Languages of Programs—PLoP ’06,2006

5. Microservices Patterns: With Examples in Java;Richardson,2019

Cited by 6 articles. 订阅此论文施引文献 订阅此论文施引文献,注册后可以免费订阅5篇论文的施引文献,订阅后可以查看论文全部施引文献

1. An Efficient Microservices Architecture for MLOps;2023 Fourteenth International Conference on Ubiquitous and Future Networks (ICUFN);2023-07-04

2. The Art of Breaking Down;Advances in Systems Analysis, Software Engineering, and High Performance Computing;2023-06-30

3. A transaction platform for microservices-based big data systems;Simulation Modelling Practice and Theory;2023-02

4. Integration Flows Modeling in the Context of Architectural Views;IEEE Access;2023

5. Handling Rollbacks with Separated Response Control Service for Microservice Architecture;2022 3rd International Informatics and Software Engineering Conference (IISEC);2022-12-15

同舟云学术

1.学者识别学者识别

2.学术分析学术分析

3.人才评估人才评估

"同舟云学术"是以全球学者为主线,采集、加工和组织学术论文而形成的新型学术文献查询和分析系统,可以对全球学者进行文献检索和人才价值评估。用户可以通过关注某些学科领域的顶尖人物而持续追踪该领域的学科进展和研究前沿。经过近期的数据扩容,当前同舟云学术共收录了国内外主流学术期刊6万余种,收集的期刊论文及会议论文总量共计约1.5亿篇,并以每天添加12000余篇中外论文的速度递增。我们也可以为用户提供个性化、定制化的学者数据。欢迎来电咨询!咨询电话:010-8811{复制后删除}0370

www.globalauthorid.com

TOP

Copyright © 2019-2024 北京同舟云网络信息技术有限公司
京公网安备11010802033243号  京ICP备18003416号-3