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