Questão de Engenharia de Software — Padrões de Projeto (Engenharia de Software) — VUNESP 2025
Engenharia de Software›Padrões de Projeto (Engenharia de Software)
Código
vu222965
Banca
VUNESP
Órgão
TJ SP
Ano
2025
Cargo
AnaSistJ ( )
Assinale a alternativa que contém somente nomes de estados do padrão de projeto (design pattern) conhecido como circuit breaker.
AAberto, fechado e operacional.
BFechado, operacional e em análise.
COperacional, em análise e aberto.
DMeio aberto, meio fechado e operacional.
EAberto, fechado e meio aberto.
Revelar gabarito e comentário▾
GabaritoE — Aberto, fechado e meio aberto.
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 de Projeto Circuit Breaker
Gabarito: letra E. O padrão de projeto circuit breaker (disjuntor) possui exatamente três estados: Aberto (Open), Fechado (Closed) e Meio Aberto (Half-Open). A alternativa E é a única que contém somente esses três nomes, sem incluir termos como "operacional" ou "em análise", que não fazem parte do modelo canônico desse padrão.
O circuit breaker é um padrão de projeto utilizado em sistemas distribuídos para aumentar a resiliência e a tolerância a falhas. Ele atua como um intermediário entre o cliente e o serviço remoto, monitorando as chamadas e prevenindo que um serviço com falhas seja sobrecarregado por requisições que provavelmente falharão. O nome é uma analogia direta ao disjuntor elétrico: quando há um curto-circuito ou sobrecarga, o disjuntor "abre" o circuito, interrompendo o fluxo de corrente para proteger o sistema. Da mesma forma, quando um serviço remoto começa a falhar, o circuit breaker "abre" e interrompe as chamadas, evitando que o sistema inteiro seja derrubado.
O funcionamento do padrão se dá pela transição entre três estados, que são a essência da questão:
Fechado (Closed): é o estado normal de operação. As chamadas ao serviço remoto são permitidas e executadas normalmente. Se as chamadas começam a falhar repetidamente, o circuit breaker pode abrir o circuito.
Aberto (Open): quando o número de falhas excede um limite pré-configurado, o circuit breaker abre o circuito. Nesse estado, as chamadas ao serviço remoto são bloqueadas imediatamente, sem tentativa de execução, e uma falha é retornada rapidamente ao chamador. Isso evita que o serviço com problemas seja sobrecarregado. Após um período de espera (timeout), o circuit breaker transita para o estado Meio Aberto.
Meio Aberto (Half-Open): é um estado de teste. O circuit breaker permite que um número limitado de chamadas de teste seja enviado ao serviço remoto para verificar se ele se recuperou. Se essas chamadas de teste forem bem-sucedidas, o circuit breaker volta para o estado Fechado. Se falharem, ele volta para o estado Aberto, reiniciando o ciclo.
A transição entre os estados é o coração do padrão. O estado "Fechado" é o ponto de partida e o estado de operação normal. Quando as falhas se acumulam, o circuito "abre" e bloqueia as chamadas. Depois de um tempo, ele "meio abre" para testar a recuperação do serviço. Se o serviço se recuperou, o circuito "fecha" novamente; se não, ele "abre" de novo. Esse ciclo contínuo protege o sistema de falhas em cascata.
A pegadinha desta questão está em confundir os estados do circuit breaker com termos genéricos de operação de sistemas, como "operacional" e "em análise". Esses termos não são nomes de estados do padrão. A banca explora o conhecimento específico do modelo de três estados, que é a base do padrão. É fundamental memorizar os três nomes exatos: Aberto, Fechado e Meio Aberto.
NÃO CAIA NESSA!
A banca tenta induzir o candidato a escolher alternativas que contenham termos como "operacional" e "em análise", que parecem plausíveis no contexto de um sistema, mas não são estados do padrão circuit breaker. O candidato que não conhece o modelo exato pode ser levado a escolher uma alternativa com esses termos. A chave é lembrar que o padrão tem apenas três estados, e eles são sempre os mesmos: Aberto, Fechado e Meio Aberto.
1Fechado (Closed)
2Aberto (Open)
3Meio Aberto (Half-Open)
LEVEL · soulevel.com.br
Alternativa A — ❌ Incorreta
A alternativa A lista "Aberto, fechado e operacional". O termo "operacional" não é um estado do padrão circuit breaker. Os estados são Aberto, Fechado e Meio Aberto. "Operacional" é um termo genérico que descreve o estado de funcionamento de um sistema, mas não é um nome de estado do padrão.
Alternativa B — ❌ Incorreta
A alternativa B lista "Fechado, operacional e em análise". Novamente, "operacional" e "em análise" não são estados do padrão. O padrão circuit breaker não possui um estado chamado "em análise". Os estados são Aberto, Fechado e Meio Aberto.
Alternativa C — ❌ Incorreta
A alternativa C lista "Operacional, em análise e aberto". Esta alternativa contém dois termos que não são estados do padrão: "operacional" e "em análise". Apenas "aberto" é um estado válido. Os estados corretos são Aberto, Fechado e Meio Aberto.
Alternativa D — ❌ Incorreta
A alternativa D lista "Meio aberto, meio fechado e operacional". O padrão circuit breaker possui o estado "Meio Aberto", mas não possui um estado chamado "Meio Fechado". Além disso, "operacional" não é um estado do padrão. Os estados corretos são Aberto, Fechado e Meio Aberto.
Alternativa E — ✅ Correta ⟵ GABARITO
A alternativa E lista "Aberto, fechado e meio aberto". Esses são exatamente os três estados do padrão de projeto circuit breaker: Aberto (Open), Fechado (Closed) e Meio Aberto (Half-Open). Esta é a única alternativa que contém somente os nomes corretos dos estados.