Compor tempos e tentativas
No percurso fictício, três etapas sequenciais reservam 150, 80 e 60 ms. Somam 290 ms e deixam dez antes de outros custos num limite de 300 ms. Usar apenas a maior etapa seria adequado a outro modelo, não a esta sequência. Agora considera três tentativas de cem milissegundos com esperas de vinte e quarenta: são 360 ms, já acima do limite. Se o chamador permite duas tentativas totais e cada uma ativa três chamadas do SDK, podem ocorrer seis chamadas ao destino. Escreve sempre se o limite inclui a tentativa inicial. A orientação AWS sobre repetições ajuda a analisar carga e sincronização; os números aqui são próprios do exercício. Jitter distribui tentativas no tempo, mas não substitui limites nem garante sucesso. Revê também a política já existente no SDK antes de acrescentar outra camada.
Distinguir espera, efeitos e capacidade
O cliente deixa de esperar aos 300 ms, mas o servidor regista conclusão aos 450. O timeout não cancelou automaticamente o trabalho remoto. Define como o prazo se propaga, que cancelamento existe e como descobrir efeitos depois da perda de resposta. Também distingue falha transitória de um 403 confirmado como permissão permanentemente ausente: repetir o mesmo pedido com as mesmas credenciais não trata essa condição. Para trabalho assíncrono, uma fila pode absorver um pico, mas não aumenta a taxa de processamento. Com entrada de duzentos trabalhos por segundo, saída de 150, fila inicial vazia e vinte segundos sem perdas, acumulam-se mil trabalhos. Para decidir, faltam ainda duração do pico, capacidade da fila, tempo de drenagem e tratamento de trabalho atrasado. O modelo aritmético não mede throughput real nem substitui um ensaio representativo.
Melhorar desempenho sem perder significado ou acesso
Uma cache pode reduzir latência e violar atualidade ou isolamento. Se o requisito admite dados até trinta segundos e o desenho serve dados de sessenta, apresenta o conflito e alternativas ao responsável pelo requisito. Se tenants A e B têm relatório id=7, usar só 7 como chave cria uma colisão. Acrescentar tenant à identidade evita essa colisão concreta, mas não substitui autorização em cada caminho de acesso. A verificação feita apenas na consulta à base pode ser contornada por uma resposta de cache. Nos indicadores, evita outra simplificação: a média de dois p95 não é, em geral, o p95 global. A documentação Prometheus distingue percentis já calculados de distribuições agregáveis. No modelo, usa-se a convenção explícita nearest-rank sobre observações completas; não se simula interpolação Prometheus nem recolha real de métricas.
Transformar um resultado local numa revisão útil
Usa os últimos grupos do código da aula anterior para reproduzir 360 ms, seis chamadas, mil trabalhos e a diferença entre percentis. Há vinte observações em cada instância: A contém dezanove valores de um e um de cem; B contém vinte valores de dez. Com nearest-rank, os p95 são um e dez, a média é 5,5 e o p95 global é dez. Pede a um colega que explique a diferença usando a distribuição, antes de alterar o código. Depois redige uma recomendação em inglês com hipótese, evidência disponível, risco e próximo ensaio. Não bloqueies por uma preferência pessoal quando duas opções cumprem os critérios; também não aceites uma garantia de 300 ms suportada apenas por uma função local. A revisão deve produzir uma decisão compreensível, responsáveis e informação ainda necessária. Este exercício de discussão está preparado, mas não foi realizado por uma equipa humana.
Hipótese | Evidência | Combinação de versões | Prazo | Falha esperada | Próximo ensaio | Dono
Perguntas: que tempo foi omitido? que consumidor falta? que efeito pode já existir? que autorização se aplica?“One outer attempt can consume 360 ms before additional overhead. The proposed 300 ms commitment is unsupported. We need a combined retry policy and representative failure measurements.”
Armadilhas comuns
Esperas fora do prazo; tentativas por camada somadas; timeout como cancelamento; fila como capacidade; chave de cache como autorização; média de percentis como percentil global.
Tópicos relacionados: Repetição e backoff · Observabilidade · Isolamento e autorização
Revê a composição completa e conserva o significado do resultado e as fronteiras de acesso ao otimizar.
Referência: Timeouts, retries, and backoff with jitter · Google Engineering Practices, SRE and DORA; Microsoft architecture decision and collaboration guidance; OWASP threat modeling; UK lead developer framework; inspected 2026-10-01