Junior — Middle
Consegues nomear os principais tipos de padrão Saga e explicar as suas diferenças?
sobes.tech IA
Resposta da IA
O padrão Saga é utilizado para gerir transações distribuídas, dividindo-as numa série de transações locais com ações de compensação em caso de erros.
Principais tipos de padrão Saga:
-
Coreografia (Choreography)
- Cada transação local publica eventos que outros serviços ouvem.
- Não há um coordenador central.
- Mais fácil de implementar, mas mais difícil de controlar a sequência e o tratamento de erros.
-
Orquestração (Orchestration)
- Um orquestrador central gere a execução das transações locais enviando comandos aos serviços.
- Permite um controlo mais explícito do processo e do tratamento de erros.
- Arquitetura mais complexa devido à presença de um componente central.
Diferenças:
- Na coreografia, a gestão está distribuída, na orquestração, centralizada.
- A orquestração oferece maior controlo, a coreografia é mais descentralizada e escalável.
A escolha depende dos requisitos do sistema e da complexidade dos processos de negócio.