Chapitre 6. Le flux de travail
Dans les deux chapitres précédents, nous avons examiné les aspects des microservices liés à la façon dont un microservice parle à un autre. Mais que se passe-t-il lorsque nous voulons que plusieurs microservices collaborent, peut-être pour mettre en œuvre un processus commercial ? La façon dont nous modélisons et mettons en œuvre ce genre de flux de travail dans les systèmes distribués peut être délicate à mettre en place.
Dans ce chapitre, nous examinerons les pièges associés à l'utilisation des transactions distribuées pour résoudre ce problème, et nous nous pencherons également sur les sagas - un concept qui peut nous aider à modéliser nos flux de travail de microservices d'une manière beaucoup plus satisfaisante.
Transactions de la base de données
D'une manière générale, lorsque nous pensons à une transaction dans le contexte de l'informatique, nous pensons à une ou plusieurs actions qui vont se produire et que nous voulons traiter comme une seule unité. Lorsque nous effectuons plusieurs changements dans le cadre d'une même opération globale, nous voulons confirmer que tous les changements ont été effectués. Nous voulons également disposer d'un moyen de faire le ménage si une erreur se produit pendant que ces changements ont lieu. Généralement, cela nous amène à utiliser quelque chose comme une transaction de base ...