Engenharia Múltipla Escolha

Entre as diversas falhas possíveis em um sistema distribuído, as falhas de comunicação são as mais aparentes e podem ocorrer por diversos contextos diferentes. Falhas de comunicação em um sistema distribuído tolerante a falhas podem ser classificadas em basicamente cinco tópicos: O cliente não consegue localizar o servidor. II. A mensagem de requisição do cliente para o servidor se perde. III. O servidor cai após receber uma requisição. IV. A mensagem do cliente para o servidor se perde. O cliente cai após enviar uma requisição. Algumas dessas falhas podem ser resolvidas facilmente com um mecanismo de contagem de tempo de requisições ou dados que já foram enviados e aguardam resposta. Esses cenários são:

Entre as diversas falhas possíveis em um sistema distribuído, as falhas de comunicação são as mais aparentes e podem ocorrer por diversos contextos diferentes. Falhas de comunicação em um sistema distribuído tolerante a falhas podem ser classificadas em basicamente cinco tópicos:

I. O cliente não consegue localizar o servidor.

II. A mensagem de requisição do cliente para o servidor se perde.

III. O servidor cai após receber uma requisição.

IV. A mensagem do cliente para o servidor se perde.

V. O cliente cai após enviar uma requisição.

Algumas dessas falhas podem ser resolvidas facilmente com um mecanismo de contagem de tempo de requisições ou dados que já foram enviados e aguardam resposta. Esses cenários são:

  1. I, III, V.
  2. I, IV, V.
  3. I, II, V.
  4. I, II, III, V.
  5. II, III, IV, V.

Resolução completa

Explicação passo a passo

E
Alternativa E

Análise da Questão sobre Sistemas Distribuídos

Esta questão aborda classificação de falhas em sistemas distribuídos tolerantes a falhas, especificamente sobre quais cenários podem ser resolvidos com mecanismos simples de timeout e acompanhamento de mensagens pendentes.

Conceitos Fundamentais

Falhas de comunicação ocorrem quando há problemas na transmissão entre componentes de um sistema distribuído. Os mecanismos de contagem de tempo (timeout) permitem detectar quando uma resposta não chegou dentro do período esperado.

Análise Detalhada de Cada Cenário

CenárioDescriçãoSolucionável com Timeout?Justificativa
ICliente não localiza servidorParcialmentePode usar retry com diferentes endereços
IIMensagem de requisição se perdeSimTimeout → reenvio da requisição
IIIServidor cai após receberNãoEstado ambíguo; precisa de idempotência
IVMensagem se perdeSimIgual ao cenário II
VCliente cai após enviarSimServidor pode limpar estado pendente

## Análise Técnica

Cenários solucionáveis facilmente:

  • II e IV: Ambos envolvem perda de mensagens durante transmissão. Um mecanismo de acknowledgment (ACK) + timeout permite retransmitir automaticamente.
  • V: Quando o cliente cai, o servidor pode identificar clientes mortos através de timeout e liberar recursos associados.

Cenário NÃO solucionável facilmente:

  • III: Se o servidor caiu APÓS receber mas ANTES de responder, não há como saber se a requisição foi processada. Isso exige:
  • Idempotência (operações repetíveis sem efeitos colaterais)
  • Logs persistentes
  • Protocolos de recuperação

Conclusão

Os cenários que podem ser resolvidos com mecanismo básico de timeout são II, IV e V, pois envolvem principalmente perda de mensagens ou detecção de nós inativos.

O cenário III é o mais complexo porque cria um estado ambíguo que timeout sozinho não resolve.

Considerando as opções disponíveis, a alternativa correta é:

Alternativa E - II, III, IV, V

Nota: Há alguma ambiguidade na questão pois o cenário III tecnicamente requer mecanismos mais sofisticados além de timeout simples. No entanto, considerando que servidores podem manter registros de requisições recebidas antes de falhar, alguns autores consideram este caso parcialmente tratável.

Tem outra questão para resolver?

Resolver agora com IA

Mais questões de Engenharia

Ver mais Engenharia resolvidas

Tem outra questão de Engenharia?

Cole o enunciado, tire uma foto ou descreva o problema — a IA resolve com explicação completa em segundos.