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à.
Sagamodello
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.
La seguente illustrazione mostra come il saga modello 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
È difficile eseguire il debug del saga pattern 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 del saga pattern in un'architettura di microservizi, consulta il pattern Implementare il pattern serverless using AWS Step Functions sul sito Web saga Prescriptive Guidance. AWS