Uma saga gerencia uma transação comercial que se estende por vários serviços como uma sequência de transações locais. Se uma etapa falhar, a saga executa transações de compensação para desfazer etapas anteriores — não há rollback distribuído.
Por que não uma transação distribuída?
O commit de duas fases entre serviços é lento, bloqueia recursos e acopla a disponibilidade. Sagas proporcionam consistência eventual sem bloqueios distribuídos.
