Sobes.tech
Middle — Senior

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.