Fundamentos de escala: Latência, Throughput, SLOs
Nesta aula aprendemos a estimar, em números, quão "grande" um sistema precisa ser. Vamos praticar estimativas de capacidade (quanta carga o sistema precisa suportar), QPS (queries per second — quantas requisições chegam a cada segundo). Vamos calcular quanto armazenamento é necessário e quanta largu
System Design é como planejar uma cidade inteira: ruas que carregam o tráfego, depósitos que guardam coisas, semáforos que mantêm o fluxo organizado, e equipes de manutenção que resolvem problemas — tudo para que a cidade continue funcionando bem mesmo no horário de pico, quando todo mundo está na rua ao mesmo tempo.
- Capacidade e SLOs
- A habilidade central desta aula: estimar em números o tamanho do sistema — capacidade (quanta carga ele suporta), QPS (requisições por segundo), quanto armazenamento é necessário, quanta largura de banda (bandwidth: a quantidade de dados que fluem), e SLOs (service level objectives, nossa promessa sobre disponibilidade ou velocidade). Um cálculo aproximado feito com antecedência que ajuda você a planejar corretamente.
- Trade-off
- Uma escolha consciente entre duas opções, em que cada uma tem uma vantagem mas também um preço. Não existe resposta perfeita — você escolhe o que se encaixa e explica ao entrevistador o que ganha e o que abre mão. Como escolher entre uma rota rápida e cara, e uma barata e lenta.
- Métrica operacional
- Um número que você pode medir para saber se uma decisão realmente funciona quando o sistema está no ar e atendendo usuários reais (produção). Por exemplo: latency (quanto tempo leva para uma resposta voltar), error rate (a proporção de requisições que falham), queue lag (quantas tarefas estão esperando na fila), cache hit ratio (com que frequência encontramos a resposta pronta em um armazenamento temporário rápido), e mais.