The Saga Pattern in a Reactive Microservices Environment

Martin Štefanko, Ondřej Chaloupka, Bruno Rossi

2019

Abstract

Transaction processing is a critical aspect of modern software systems. Such criticality increased over the years with the emergence of microservices, calling for appropriate management of transactions across separated application domains, ensuring the whole system can recover and operate in a possible degraded state. The Saga pattern emerged as a way to define compensating actions in the context of long-lived transactions. In this work, we discuss the relation between traditional transaction processing models and the Saga pattern targeting specifically the distributed environment of reactive microservices applications. In this context, we provide a comparison of the current state of transaction support in four Java-based enterprise application frameworks for microservices support: Axon, Eventuate Event Sourcing (ES), Eventuate Tram, and MicroProfile Long Running Actions (LRA).

Download


Paper Citation


in Harvard Style

Štefanko M., Chaloupka O. and Rossi B. (2019). The Saga Pattern in a Reactive Microservices Environment.In Proceedings of the 14th International Conference on Software Technologies - Volume 1: ICSOFT, ISBN 978-989-758-379-7, pages 483-490. DOI: 10.5220/0007918704830490


in Bibtex Style

@conference{icsoft19,
author={Martin Štefanko and Ondřej Chaloupka and Bruno Rossi},
title={The Saga Pattern in a Reactive Microservices Environment},
booktitle={Proceedings of the 14th International Conference on Software Technologies - Volume 1: ICSOFT,},
year={2019},
pages={483-490},
publisher={SciTePress},
organization={INSTICC},
doi={10.5220/0007918704830490},
isbn={978-989-758-379-7},
}


in EndNote Style

TY - CONF

JO - Proceedings of the 14th International Conference on Software Technologies - Volume 1: ICSOFT,
TI - The Saga Pattern in a Reactive Microservices Environment
SN - 978-989-758-379-7
AU - Štefanko M.
AU - Chaloupka O.
AU - Rossi B.
PY - 2019
SP - 483
EP - 490
DO - 10.5220/0007918704830490