Search code examples
javadesign-patternsmicroservicesdistributed-transactionssaga

Why the pattern for microservices distributed transactions named as SAGA?


I have gone through various SAGA patterns(Orchestration,Choreography), suggested for maintaining database consistency in microservices during distributed transactions.

But I am not able to relate the literal word SAGA in the context.

Why is it named as SAGA ?


Solution

  • Saga is not an abbreviation. The term “saga” was first defined in a 1987 publication. It also mentions that it was proposed by Bruce Lindsay.

    In their original version, the term saga refers to Long Lived Transactions(LLT).

    A LLT is a saga if it can be written as a sequence of transactions that can be interleaved with other transactions.

    The reason for choosing the word itself is not disclosed. Perhaps one of the literary meanings of the word saga was meant:

    a long, detailed story of connected events