Pode explicar o conceito de coreografia em Saga e como ele difere da orquestração?
sobes.tech IA
Resposta da IA
No contexto do padrão Saga para gestão de transações distribuídas:
-
Coreografia — é uma abordagem em que cada serviço reage autonomamente aos eventos de outros serviços e realiza suas próprias ações. Não há um controlador central; a interação ocorre através da troca de eventos. Isso reduz o acoplamento e aumenta a escalabilidade, mas torna mais difícil rastrear o fluxo geral.
-
Orquestração — aqui há um orquestrador central (coordenador) que gerencia a sequência de chamadas aos serviços, controlando a execução e a compensação das transações. Isso facilita o controle e a depuração, mas cria um ponto de falha e aumenta o acoplamento.
Exemplo de coreografia: o serviço A publica um evento, o serviço B ouve e reage, depois publica seu próprio evento, ao qual responde o serviço C, etc.
Exemplo de orquestração: o orquestrador chama o serviço A, espera o resultado, depois chama o serviço B, etc., gerenciando toda a lógica.