Seu sistema NÃO aguenta o tráfego — o cache só esconde isso de você
Além do CRUD
0:00 / 0:00
Seu sistema NÃO aguenta o tráfego — o cache só esconde isso de você
25 просмотров · 1 мес. назад
Além do CRUD
8 подписчиков
25 просмотров · 1 мес. назад
Seu sistema está saudável. Tempo de resposta ótimo, banco tranquilo, gráfico bonito. E é tudo mentira.
Porque no dia em que o item mais popular do seu cache expirar, TODOS os pedidos que ele atendia viram falha no mesmo instante — e batem no banco juntos. Aí você descobre a verdade: o cache nunca esteve escondendo tráfego. Estava escondendo que o seu banco NUNCA aguentou esse tráfego.
Este episódio é sobre a peça mais popular da arquitetura de sistemas — a que todo mundo usa e quase ninguém usa direito.
E ele começa com uma definição diferente da que te ensinaram: cache não é "guardar pra não buscar de novo". Cache é uma CÓPIA que você criou de propósito. E cópia é réplica. E réplica, a gente já sabe desde o episódio 03, cobra caro.
🎧 O QUE VOCÊ VAI ENTENDER AQUI
▪️ Os DOIS ganhos do cache — e por que quase todo mundo cita só um. Latência é o que o usuário sente; alívio de carga é o que impede o banco de derreter. São independentes.
▪️ A conta que ninguém faz: quando o cache NÃO tem o dado, ele PIORA a sua latência. Você pagou um pedágio a mais pela viagem que ia fazer de qualquer jeito.
▪️ Por que cache funciona: o acesso do mundo real é desigual. Se todos os dados fossem igualmente populares, cache não funcionaria. Ele vive da desigualdade.
▪️ Os 4 andares do cache — navegador, borda, aplicação, banco — e a regra que atravessa todos: quanto mais perto do usuário, mais rápido E MENOS CONTROLE você tem. O mesmo dado pode existir em quatro idades diferentes ao mesmo tempo.
▪️ Cache-aside, write-through e write-back — três respostas para uma pergunta só: quem escreve no cache, e quando? E a pegadinha do write-back: o dado que você confirmou pro usuário pode simplesmente sumir.
▪️ A pergunta que escolhe a estratégia — não é "qual é a melhor", é "eu posso perder essa escrita?".
▪️ Invalidação: por que apagar é fácil e SABER que precisa apagar é o inferno. Um dos quatro andares é a máquina do usuário, e ela não te obedece.
▪️ TTL é o botão de volume da consistência — e você o escolhe perguntando "por quantos segundos eu aceito mostrar o valor errado?". Preço de produto: segundos. Foto de perfil: horas.
▪️ CDN e nó de borda — a única resposta honesta ao problema da distância: encurtar a distância. E o que NUNCA pode ir pra borda, sob risco de vazar dado de um usuário para outro.
▪️ O truque do nome versionado — por que NÃO invalidar nada é mais confiável do que invalidar bem.
▪️ Estouro de cache (thundering herd) — a avalanche que um deploy às 10h com TTL de 1 hora marca para as 11h. E se repete de hora em hora. As 3 saídas.
▪️ O desastre silencioso — o estouro derruba o sistema e todo mundo vê. O dado velho não derruba nada: ele só mente, e a mentira só aparece quando alguém reclama.
💡 A PERGUNTA QUE DECIDE SE CABE CACHE
Quem paga se essa tela estiver 60 segundos atrasada? Contador de visualizações: ninguém. Saldo antes de uma transferência: o usuário — e a empresa depois.
🔑 A FRASE DO EPISÓDIO
Se o seu sistema só fica de pé com o cache quente, o cache deixou de ser otimização. Virou uma dependência que ninguém nunca testou derrubar — e, de tabela, o novo ponto único de falha que esta série inteira ensinou você a caçar.
O difícil nunca foi guardar. Foi saber quando jogar fora.
━━━━━━━━━━━━━━━━━━━━
👉 SEGUE o canal pra não perder os próximos episódios da série.
👍 DEIXA O LIKE — é o sinal que faz a plataforma mostrar isso pra mais gente que precisa.
💬 COMENTA o que você achou. Já viu um cache cair e levar o sistema inteiro junto? Conta a história — a gente lê todos.
📚 SÉRIE SYSTEM DESIGN — DO ZERO AO AVANÇADO
Ep. 00 Método e trade-offs · Ep. 01 Blocos de construção · Ep. 02 Bancos de dados · Ep. 03 Replicação e particionamento · Ep. 04 Consistência e CAP · Ep. 05 Caching e CDN (este) · Ep. 06 em breve
━━━━━━━━━━━━━━━━━━━━
#SystemDesign #Cache #EntrevistaTecnica #CDN #Arquitetura #ArquiteturaDeSoftware #EngenhariaDeSoftware #SistemasDistribuidos #Performance #Backend #Latencia #DevBrasil #ProgramacaoBrasil #Escalabilidade