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:
- Criar encomenda (transação local no serviço de encomendas).
- Reservar pagamento (transação local no serviço de pagamentos).
- 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.