Saga-compensatie
Het patroon om een gedistribueerde transactie in meerdere stappen (een „saga") ongedaan te maken door voor elke reeds uitgevoerde stap een expliciete compenserende actie uit te voeren — in plaats van een databaserollback. De gebruikelijke manier om data over microservices heen consistent te houden zonder gedistribueerde transacties.
Het probleem: een bewerking over meerdere services (vlucht + hotel + huurauto boeken) kan geen gebruikmaken van één databasetransactie of 2PC (de services hebben eigen databases en 2PC schaalt slecht). Een saga knipt het op in lokale transacties per service; mislukt een latere stap, dan draaien compenserende transacties die de eerdere „terugdraaien" (het hotel annuleren, de vlucht terugbetalen). Let op: compensatie is semantisch, geen exacte rollback — geld wordt terugbetaald, de tijd wordt niet teruggedraaid. Twee stijlen: choreografie (services reageren op elkaars events) of orkestratie (een centrale coördinator stuurt aan). De compensaties moeten idempotent zijn. Een hoeksteen van microservicearchitectuur.