Sobes.tech
Junior — Middle

Pode explicar o conceito de Saga no contexto do desenvolvimento de uma arquitetura de microsserviços?

sobes.tech IA

Resposta da IA

Saga é um padrão de gestão de transações distribuídas numa arquitetura de microserviços, que permite garantir a consistência dos dados sem usar bloqueios globais.

A ideia principal do Saga:

  • A transação é dividida numa série de transações locais, cada uma executada num microserviço separado.
  • Se uma das transações locais falhar, são executadas transações de compensação para cancelar os passos anteriores bem-sucedidos, retornando o sistema a um estado consistente.

Exemplo: Vamos supor que há serviços para encomendar produtos, pagar e entregar. A Saga seria assim:

  1. Criar encomenda (transação local no serviço de encomendas).
  2. Reservar pagamento (transação local no serviço de pagamentos).
  3. Organizar a entrega (transação local no serviço de entregas).

Se, por exemplo, a entrega falhar, inicia-se uma transação de compensação para cancelar o pagamento e a encomenda.

Assim, a Saga garante fiabilidade e coerência em sistemas distribuídos sem bloqueio rígido de recursos.