Léxico de TI › Bancos de dados › Compensação de saga

Compensação de saga

Bancos de dados Svenska → Atualizado: 2026-09-30

O padrão de desfazer uma transação distribuída de vários passos (uma "saga") executando ações compensatórias explícitas para cada passo já concluído — em vez de um rollback de banco de dados. A forma usual de manter os dados consistentes entre microsserviços sem transações distribuídas.

O problema: uma operação que atravessa vários serviços (reservar voo + hotel + carro) não pode usar uma única transação de banco nem 2PC (os serviços têm bancos próprios e o 2PC escala mal). Uma saga divide a operação em transações locais por serviço; se um passo posterior falha, rodam transações compensatórias que "desfazem" as anteriores (cancelar o hotel, estornar o voo). Atenção: a compensação é semântica, não um rollback exato — o dinheiro é devolvido, o tempo não volta. Dois estilos: coreografia (os serviços reagem aos eventos uns dos outros) ou orquestração (um coordenador central conduz tudo). As compensações precisam ser idempotentes. Pilar da arquitetura de microsserviços. Relacionada a transação distribuída e savepoint.

← Voltar ao léxico