A arquitetura saga é um padrão de design de software que é frequentemente usado para implementar transações distribuídas em sistemas de software. Ele visa melhorar a confiabilidade e a escalabilidade de sistemas distribuídos, especialmente em cenários onde várias operações precisam ser coordenadas entre diferentes serviços ou componentes. Em uma arquitetura saga, uma transação é dividida em várias etapas menores, cada uma representando uma ação a ser executada em um serviço ou componente. Cada etapa é tratada como uma unidade de trabalho independente e possui seu próprio mecanismo de compensação associado, que pode ser usado para desfazer as alterações realizadas se algo der errado em qualquer ponto da transação. Isso ajuda a manter a consistência dos dados mesmo em cenários de falha.