Questão de Arquitetura de Software — Conceitos Básicos em Arquitetura de Software — FGV 2023
Arquitetura de Software›Conceitos Básicos em Arquitetura de Software
Código
fg061603
Banca
FGV
Órgão
Câmara dos Deputados
Ano
2023
Nível
Superior
Cargo
Analista Legislativo - Informática Legislativa - Tarde
O padrão Saga é uma maneira de gerenciar a consistência de dados entre microsserviços em cenários de transações distribuída.Sobre esse padrão, assinale a afirmativa correta.
AUma saga é uma transação de estilo ACID no nível da própria saga mesmo havendo múltiplos microsserviços.
BComo os microsserviços participantes de uma saga não colaboram entre sim, não há risco de dependência cíclica.
CAs sagas coreografadas causam maior acoplamento entre microsserviços do que as sagas orquestradas.
DAs transações de compensação são iguais a rollback em banco de dados, desfaz tudo como se nada tivessem ocorrido.
EAs sagas orquestradas usam um coordenador centralizado para definir a ordem de execução dos microsserviços.
Revelar gabarito e comentário▾
GabaritoE — As sagas orquestradas usam um coordenador centralizado para definir a ordem de execução dos microsserviços.
Comentário gerado por IA. É um apoio ao estudo, ancorado em fontes, mas pode conter imprecisões — confira sempre na fonte oficial (lei, súmula, edital e gabarito da banca). Encontrou um erro? Use “Reportar”.
Padrão Saga em microsserviços
Gabarito: letra E. A afirmativa correta descreve com precisão as sagas orquestradas: utilizam um coordenador centralizado que define a ordem de execução dos microsserviços. É a definição clássica desse padrão.
A banca FGV testa o conhecimento sobre os dois tipos de saga (orquestrada e coreografada) e conceitos correlatos como compensação e ACID. Vejamos cada alternativa.
Alternativa
Afirmativa
Análise
Gabarito
A
Uma saga é uma transação de estilo ACID no nível da própria saga mesmo havendo múltiplos microsserviços.
❌ Incorreta. Sagas não seguem ACID; usam consistência eventual e transações compensatórias.
B
Como os microsserviços participantes de uma saga não colaboram entre sim, não há risco de dependência cíclica.
❌ Incorreta. Nas sagas coreografadas há colaboração via eventos, podendo gerar dependências cíclicas.
C
As sagas coreografadas causam maior acoplamento entre microsserviços do que as sagas orquestradas.
❌ Incorreta. Geralmente o contrário: coreografadas têm menor acoplamento; orquestradas centralizam o controle.
D
As transações de compensação são iguais a rollback em banco de dados, desfaz tudo como se nada tivessem ocorrido.
❌ Incorreta. Compensação é ação semântica de reversão, não atômica como rollback; pode não restaurar estado original.
E
As sagas orquestradas usam um coordenador centralizado para definir a ordem de execução dos microsserviços.
✅ Correta. Definição clássica do padrão.
GABARITO
Saga: Orquestrada (Coordenador centralizado, Maior acoplamento); Coreografada (Risco de dependência cíclica, Menor acoplamento); Transações (Consistência eventual, Compensação (≠ rollback))
Alternativa A — ❌ Incorreta
Afirma que uma saga é uma transação ACID no nível da própria saga. Erro: sagas não seguem o modelo ACID (Atomicidade, Consistência, Isolamento, Durabilidade). Elas utilizam consistência eventual e transações compensatórias para lidar com falhas em ambientes distribuídos, sacrificando o isolamento estrito em favor da disponibilidade.
Alternativa B — ❌ Incorreta
Diz que os microsserviços participantes não colaboram entre si e não há risco de dependência cíclica. Erro: nas sagas coreografadas, os serviços colaboram publicando e consumindo eventos; isso pode gerar dependências cíclicas se o fluxo de eventos não for bem projetado. Já nas orquestradas, o coordenador centraliza a lógica, mas ainda há colaboração.
Alternativa C — ❌ Incorreta
Afirma que sagas coreografadas causam maior acoplamento que as orquestradas. Erro: geralmente o contrário é verdadeiro. Sagas coreografadas tendem a ter menor acoplamento, pois cada serviço reage a eventos sem conhecer os demais diretamente. A orquestração centraliza o controle, o que pode aumentar o acoplamento com o coordenador. A banca inverteu a relação esperada.
Alternativa D — ❌ Incorreta
Iguala transações de compensação a rollback de banco de dados, como se desfizessem tudo completamente. Erro: compensação é uma ação semântica de reversão, que pode não restaurar o estado original exato (ex.: enviar e-mail de cancelamento, reembolsar parcialmente). Diferente do rollback atômico, a compensação é uma lógica de negócio que tenta neutralizar os efeitos de uma transação anterior, mas pode ser complexa e nem sempre possível.
Alternativa E — ✅ Correta ⟵ GABARITO
Afirma que sagas orquestradas usam um coordenador centralizado para definir a ordem de execução dos microsserviços. Correto: na orquestração, um serviço orquestrador (ou controlador) gerencia o fluxo, decide qual serviço chamar e quando, e trata as falhas acionando compensações. É a característica central desse tipo de saga.
PEGA ESSA DICA!
Para fixar, lembre: orquestrada = maestro centralizado (similar a uma orquestra); coreografada = dançarinos que reagem uns aos outros (eventos). Na prática, escolha a orquestração quando o fluxo for complexo e centralizado; a coreografia quando houver baixo acoplamento e simplicidade.