Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.
Saga pattern
Il saga pattern è un modello di gestione degli errori che aiuta a stabilire la coerenza nelle applicazioni distribuite e coordina le transazioni tra più microservizi per mantenere la coerenza dei dati. Un microservizio pubblica un evento per ogni transazione e la transazione successiva viene avviata in base al risultato dell'evento. Può seguire due percorsi diversi, a seconda del successo o del fallimento delle transazioni.
L'illustrazione seguente mostra come saga pattern implementa un sistema di elaborazione degli ordini utilizzando. AWS Step Functions Ogni fase (ad esempio, «ProcessPayment») prevede anche passaggi separati per gestire il successo (ad esempio, "UpdateCustomerAccount«) o il fallimento (ad esempio," SetOrderFailure «) del processo.

Dovresti prendere in considerazione l'utilizzo di questo modello se:
-
L'applicazione deve mantenere la coerenza dei dati su più microservizi senza un collegamento stretto.
-
Esistono transazioni di lunga durata e non si desidera che altri microservizi vengano bloccati se un microservizio viene eseguito per un lungo periodo di tempo.
-
È necessario essere in grado di eseguire il rollback se un'operazione non riesce nella sequenza.
Importante
Il saga il debug di un pattern è difficile e la sua complessità aumenta con il numero di microservizi. Il pattern richiede un modello di programmazione complesso che sviluppi e progetti transazioni compensative per il rollback e l'annullamento delle modifiche.
Per ulteriori informazioni sull'implementazione di saga pattern in un'architettura di microservizi, vedi il pattern Implementa il serverless saga modello utilizzando AWS Step Functions sul sito Web di AWS Prescriptive Guidance.