João Miguel Rocha Queirós
Transactional Causal Consistency For Microservices Architectures
Tese submetida para provas de mestrado em Engenharia
Informática e de Computadores Instituto Superior
Técnico, Universidade de Lisboa.
Abstract
The microservices’ architecture is a software engineering approach that structures an application as a set of loosely coupled services. Each microservice manages a small, cohesive, subset of the domain entities and can be implemented, deployed, and managed independently of other microservices. The execution of a microservice may need to read data items that are managed by other microservices. These read operations can be completed either by doing remote calls or by reading from a local replica (possibly inconsistent) of the data managed by the other microservices, that is updated using some form of publish-subscribe middleware. In any case, there is a possibility of the microservice reading mutually inconsistent versions of data objects, generating consistency anomalies that would never occur in a monolithic system. To correct the effects of these anomalies, programmers often have to develop com- pensating actions responsible for restoring the consistency of the system. In this work, we propose and evaluate a mediating layer, that we designated μTCC, that offers the Transactional Causal Consistency guarantees for microservices’ architectures. Using a version control mechanism, μTCC guarantees that different microservices, when executing a given functionality, observe mutually consistent versions of data, thus reducing the number of anomalies. Our experimental evaluation shows that the proposed solution prevents the occurrence of Transactional Causal Consistency (TCC) anomalies in over 95% of executed read operations while reducing the overall latency of functionalities by 2.63×, thanks to being able to reduce read transaction abortion frequency and respective re-executions.
Publicações
- Transactional Causal Consistency For Microservices Architectures
- João Miguel Rocha Queirós
- MSc Thesis. Instituto Superior Técnico,
Universidade de Lisboa.
- June 2022.
- Available BibTeX, MSC Thesis, and extended abstract, and
mid-term
report.
- Suporte para Coerência Causal Transacional em Sistemas
de Microsserviços.
- J. Queirós,
R. Soares and L. Rodrigues.
- Actas do décimo quarto
Simpósio de Informática (Inforum), Porto, Portugal,
Sep. 2023.
-
- Available BibTeX, extended report (pdf).
Luís Rodrigues