← Questões de Arquitetura de Computadores

Arquitetura de Computadores · Avança SP · 2025

Questão comentada de Arquitetura de Computadores

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?

Gabarito: A

Em microsserviços, falhas de comunicação entre serviços são normais e, muitas vezes, temporárias. Em vez de deixar uma chamada em loop infinito ou sobrecarregar um serviço que já está instável, o sistema precisa “se proteger” e parar de insistir por um tempo. É exatamente isso que o padrão Circuit Breaker faz: ele funciona como um disjuntor elétrico, abrindo o circuito quando percebe muitas falhas e evitando que a falha se espalhe. Na prática, o Circuit Breaker monitora erros e timeouts. Se o número de falhas passa de um limite, ele bloqueia novas tentativas por um período e pode devolver uma resposta alternativa ou falha rápida. Depois, ele testa de novo de forma controlada para ver se o serviço voltou ao normal. Isso melhora a resiliência e evita que um serviço ruim derrube toda a cadeia de chamadas. Os outros padrões da lista não resolvem esse problema. Singleton trata de ter apenas uma instância de uma classe, Observer cuida de notificação entre objetos, Factory Method ajuda na criação de objetos e Proxy intermedia acesso a um objeto. Nada disso é voltado especificamente para tolerância a falhas de rede entre serviços. Então, o gabarito A está correto porque Circuit Breaker é o padrão clássico para lidar com falhas temporárias de comunicação em sistemas distribuídos e arquiteturas de microsserviços. Em contexto de provas, ele aparece muito associado a resiliência, timeouts, retries controlados e prevenção de cascata de falhas.

Continue treinando

Questões relacionadas