As traduções são geradas por tradução automática. Em caso de conflito entre o conteúdo da tradução e da versão original em inglês, a versão em inglês prevalecerá.
Padrão Saga
O padrão saga é um padrão de gerenciamento de falhas que ajuda a estabelecer a consistência em aplicativos distribuídos e coordena as transações entre vários microsserviços para manter a consistência de dados. Um microsserviço publica um evento para cada transação e a próxima transação é iniciada com base no resultado do evento. Ele pode seguir dois caminhos diferentes, dependendo do êxito ou da falha das transações.
A ilustração a seguir mostra como o padrão saga implementa um sistema de processamento de pedidos usando AWS Step Functions. Cada etapa (por exemplo, “ProcessPayment”) também tem etapas separadas para lidar com o sucesso (por exemplo, "UpdateCustomerAccount“) ou a falha (por exemplo," SetOrderFailure “) do processo.

Você deve considerar o uso desse padrão se:
-
O aplicativo precisar manter a consistência de dados em vários microsserviços sem um acoplamento forte.
-
Houver transações de longa duração e você não quiser que outros microsserviços sejam bloqueados se um microsserviço for executado por muito tempo.
-
Você precisar ser capaz de reverter se uma operação falhar na sequência.
Importante
O padrão saga é difícil de depurar e sua complexidade aumenta com o número de microsserviços. O padrão requer um modelo de programação complexo que desenvolva e projete transações compensatórias para reverter e desfazer mudanças.
Para obter mais informações sobre a implementação do padrão saga em uma arquitetura de microsserviços, consulte o padrão Implementar o padrão saga sem servidor usando o AWS Step Functions no site de Orientação prescritiva da AWS.