Dhawanjewar, Sai Charudatta (2024) A lightweight failure management pattern for microservices. Masters thesis, Dublin, National College of Ireland.
Preview |
PDF (Master of Science)
Download (1MB) | Preview |
Preview |
PDF (Configuration Manual)
Download (2MB) | Preview |
Abstract
The project develops a novel lightweight failure management pattern for distributed transactions in microservices. We focus on issues related to data consistency, fault tolerance, and atomicity. As the adoption of microservices architecture becomes prevalent due to its advantages over monolithic architecture, concerns arise regarding the coordination of distributed transactions and the preservation of data consistency across microservices. The specific scenario explored involves a web application with interconnected microservices, highlighting the potential for inconsistent data and performance issues in the face of microservice failures.
To address these challenges, the research proposes a novel lightweight failure management pattern for microservices. It takes the bare-minimal fault-tolerant features of Two-Phase Commit and Saga Cloud Pattern, which are the retry mechanism and temporary databases. The 2PC protocol ensures atomicity, reliability, and data consistency in distributed transactions and Saga patterns automate the failure recovery functionality. The unique aspect of this solution lies in the incorporation of a temporary database, serving as a safeguard against failures. In the event of a microservice failure, transactions are logged in the temporary database. Upon the restoration of the failed service, it retrieves the data from the temporary database, and the 2PC protocol verifies the availability of all participating services before finalizing the transaction and Saga pattern automates the regaining original state of the microservice.
To demonstrate the expected results, a web application (called My ArtGallery) consisting of two microservices (Admin and Main) was developed. The implementation involves React JS for webpages, Python and Django for backend processing, MySQL as the database, RabbitMQ for message publication and subscription, and Docker for deployment. Two use cases demonstrate the main features of the proposed algorithm with encouraging results. We therefore think the novel lightweight failure management pattern can be of great academic and practical interest.
Item Type: | Thesis (Masters) |
---|---|
Supervisors: | Name Email Estrada, Giovani UNSPECIFIED |
Subjects: | Q Science > QA Mathematics > Electronic computers. Computer science T Technology > T Technology (General) > Information Technology > Electronic computers. Computer science Q Science > QA Mathematics > Computer software T Technology > T Technology (General) > Information Technology > Computer software T Technology > T Technology (General) > Information Technology > Cloud computing |
Divisions: | School of Computing > Master of Science in Cloud Computing |
Depositing User: | Ciara O'Brien |
Date Deposited: | 03 Jun 2025 12:57 |
Last Modified: | 03 Jun 2025 12:57 |
URI: | https://norma.ncirl.ie/id/eprint/7724 |
Actions (login required)
![]() |
View Item |