Pular para o conteúdo principal

Questão de Arquitetura de Computadores — Sistemas Distribuídos — Avança SP 2025

Arquitetura de ComputadoresSistemas Distribuídos
Código
qg425154
Banca
Avança SP
Órgão
UNITAU
Ano
2025
Nível
Superior
Cargo
Programador Pleno
Em um sistema distribuído utilizando microsserviços, qual padrão de projeto é mais adequado para lidar com falhas temporárias de comunicação entre serviços?
  1. ACircuit Breaker
  2. BSingleton
  3. CObserver
  4. DFactory Method
  5. EProxy
Revelar gabarito e comentário

GabaritoA — 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”.

Padrões de Projeto para Microsserviços: Circuit Breaker

Gabarito: letra A. O padrão Circuit Breaker (Disjuntor) é o mais adequado para lidar com falhas temporárias de comunicação entre microsserviços, pois interrompe as chamadas a um serviço instável, evitando sobrecarga e permitindo recuperação, conforme conceitos de sistemas distribuídos e padrões de projeto.

A banca testa o conhecimento dos padrões de projeto GoF e de padrões modernos para sistemas distribuídos. A questão é direta: basta reconhecer a finalidade de cada padrão.

Padrões de projeto
  • 1Resiliência (microsserviços)
    • Circuit Breaker
      • Monitora chamadas remotas
      • Após limiar de falhas → abre circuito
      • Meio-aberto testa recuperação
      • Tolerância a falhas transitórias
    • Retry
    • Bulkhead
    • Timeout
  • 2Criação
    • Singleton (instância única)
    • Factory Method (criação por subclasse)
  • 3Estrutural
    • Proxy (controle de acesso)
  • 4Comportamental
    • Observer (notificação 1→N)
LEVEL · soulevel.com.br

Alternativa A – ✅ Correta ⟵ GABARITO

O Circuit Breaker é um padrão de tolerância a falhas que monitora chamadas remotas e, após um limiar de falhas, abre o circuito, impedindo novas tentativas por um período. Após um tempo, permite tentativas parciais (meio-aberto) para testar a recuperação do serviço. É a solução clássica para falhas transitórias em microsserviços.

Alternativa B – ❌ Incorreta

O padrão Singleton garante que uma classe tenha apenas uma instância e fornece um ponto global de acesso. Não tem relação com tratamento de falhas de comunicação.

Alternativa C – ❌ Incorreta

O padrão Observer define uma dependência um-para-muitos entre objetos, de modo que quando um objeto muda de estado, todos os seus dependentes são notificados. É usado para eventos, não para falhas de comunicação.

Alternativa D – ❌ Incorreta

O padrão Factory Method define uma interface para criar um objeto, mas permite que as subclasses decidam qual classe instanciar. É um padrão de criação, não de tolerância a falhas.

Alternativa E – ❌ Incorreta

O padrão Proxy fornece um substituto ou representante de outro objeto para controlar o acesso a ele. Pode ser usado para controle de acesso, lazy loading, etc., mas não é específico para lidar com falhas temporárias de comunicação.

PEGA ESSA DICA!

Para questões de padrões de projeto em microsserviços, lembre-se que Circuit Breaker, Retry, Bulkhead e Timeout são padrões de resiliência. Circuit Breaker é o mais famoso e frequentemente cobrado.

Gabarito: letra A.

Link permanente: /questoes/qg425154