Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.
Sagamotif
Le saga modèle est un modèle de gestion des défaillances qui permet d'établir la cohérence dans les applications distribuées et de coordonner les transactions entre plusieurs microservices afin de maintenir la cohérence des données. Un microservice publie un événement pour chaque transaction, et la transaction suivante est lancée en fonction du résultat de l'événement. Cela peut prendre deux chemins différents, selon le succès ou l'échec des transactions.
L'illustration suivante montre comment le saga modèle implémente un système de traitement des commandes en utilisantAWS Step Functions. Chaque étape (par exemple, « ProcessPayment ») comporte également des étapes distinctes pour gérer le succès (par exemple, UpdateCustomerAccount « ») ou l'échec (par exemple, SetOrderFailure « ») du processus.
Vous devriez envisager d'utiliser ce modèle si :
-
L'application doit maintenir la cohérence des données entre plusieurs microservices sans couplage étroit.
-
Les transactions sont de longue durée et vous ne voulez pas que d'autres microservices soient bloqués si un microservice est exécuté pendant une longue période.
-
Vous devez être en mesure de revenir en arrière si une opération échoue dans la séquence.
Important
Le saga modèle est difficile à déboguer et sa complexité augmente avec le nombre de microservices. Le modèle nécessite un modèle de programmation complexe qui développe et conçoit des transactions de compensation pour annuler et annuler les modifications.
Pour plus d'informations sur l'implémentation du saga modèle dans une architecture de microservices, voir le modèle Implémenter le modèle sans serveur en l'utilisant AWS Step Functions sur le site Web du guide sagaAWS prescriptif.