Pense em sistemas distribuídos
Entenda o que muda quando um programa depende de várias máquinas.
- Explicar por que redes, falhas parciais e relógios independentes mudam o projeto de um sistema.
Um sistema distribuído coordena computadores independentes por uma rede para oferecer um serviço. Os computadores podem rodar em velocidades diferentes, mensagens podem atrasar ou se perder, e uma máquina pode falhar enquanto as outras continuam. Um timeout diz que uma resposta não chegou a tempo; ele não prova que a operação remota não aconteceu.
Projetar para a incerteza significa decidir o que tentar de novo, como evitar efeitos duplicados e o que mostrar enquanto o sistema não tem certeza.
Prática: o que aconteceu de verdade?
Experimente
Até 15 XPUma requisição sem resposta
Acompanhe passo a passo uma requisição que dá timeout. O cliente só vê silêncio, mas você vai ver o que aconteceu do outro lado.
Experimente
Até 15 XPO que você pode concluir de fato?
Depois de um timeout, tudo o que você observou é a falta de informação. Decida quais afirmações você pode realmente fazer.
“Nenhuma resposta chegou dentro do prazo.”
“O servidor nunca recebeu a requisição.”
“O servidor caiu.”
“A operação não aconteceu.”
“Você ainda não sabe o resultado.”
Principais conclusões
Um timeout é incerteza sobre um resultado, não prova de falha.
Componentes podem falhar de forma independente.
Novas tentativas precisam de um plano para efeitos duplicados.
Quiz da aula
5 perguntas · aprovação com 4 acertos · até 50 XP
Ao passar, você conclui a aula e mantém sua sequência. As perguntas erradas voltarão em sessões de revisão.
Dúvidas sobre esta lição
Travou em algum ponto? Pergunte. Descobriu algo? Compartilhe. Explicar também é uma ótima forma de aprender.
Carregando publicações…