Questão de Arquitetura de Software — Arquitetura de Software — IMPARH 2024
Arquitetura de Software›Arquitetura de Software
Código
qg257245
Banca
IMPARH
Órgão
Prefeitura de Fortaleza - CE
Ano
2024
Nível
Superior
Cargo
Analista de Regulação - Ciências da Computação
Qual é o padrão de software usado em microsserviços que evita falhas em cascata e interrompe chamadas subsequentes para evitar sobrecarga?
ARetry.
BStrangler.
CCircuit Breaker.
DBulkhead.
Revelar gabarito e comentário▾
GabaritoC — Circuit Breaker.
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”.
Arquitetura de Software: Padrão Circuit Breaker
Gabarito: letra C. O Circuit Breaker é o padrão de software utilizado em arquiteturas de microsserviços para evitar falhas em cascata e interromper chamadas subsequentes a um serviço que está apresentando falhas, prevenindo sobrecarga no sistema. Conhecido como "disjuntor", ele monitora as chamadas e, após um limiar de falhas, abre o circuito, impedindo novas tentativas por um período.
Padrões de resiliência em microsserviços
1Circuit Breaker (disjuntor)
Monitora falhas
Abre o circuito após limiar
Interrompe chamadas subsequentes
Evita falhas em cascata
Testa recuperação após período
2Retry
Repete chamada após falha
Pode agravar sobrecarga
3Bulkhead
Isola recursos (threads/conexões)
Falha não se espalha
Não bloqueia chamadas
4Strangler
Migração incremental de legado
Substituição gradual
LEVEL · soulevel.com.br
Alternativa A — ❌ Incorreta
Retry. Este padrão consiste em repetir a chamada após uma falha, mas não interrompe as chamadas subsequentes; pelo contrário, pode agravar a sobrecarga se o serviço alvo já estiver sobrecarregado. Não atende ao objetivo de evitar falhas em cascata.
Alternativa B — ❌ Incorreta
Strangler. Padrão utilizado para migração incremental de sistemas legados, onde uma nova funcionalidade substitui gradualmente a antiga. Não tem relação com prevenção de falhas em cascata nem com interrupção de chamadas.
Alternativa C — ✅ Correta ⟵ GABARITO
Circuit Breaker. Exatamente o que a questão descreve: monitora falhas repetidas e, ao atingir um limite, interrompe as chamadas subsequentes para evitar sobrecarga e falhas em cascata. Após um tempo de espera, testa novamente o serviço e fecha o circuito se estiver saudável.
Alternativa D — ❌ Incorreta
Bulkhead. Padrão de isolamento que divide recursos (como threads ou conexões) em compartimentos para que uma falha em um componente não comprometa todo o sistema. Embora ajude na resiliência, não interrompe chamadas subsequentes — ele isola, não bloqueia chamadas.
PEGA ESSA DICA!
Em microsserviços, lembre-se: Circuit Breaker = "disjuntor" que para de chamar quando algo está errado; Bulkhead = "compartimentos estanques" para isolar falhas; Retry = tentar de novo; Strangler = migração gradual.