7 degraus pro teu app aguentar milhões
Antes de só pagar servidor maior, sobe estes degraus na ordem. Cada um tem um sinal: só passa pro próximo quando o sinal aparecer de verdade.
- 01 / 07
Banco mais forte DICA NOSSA
Mais processador, memória e disco pra mesma máquina. Leva longe, mas uma máquina só tem limite. Sinal: o app fica lento só nos horários de pico. No técnico: escala vertical.
- 02 / 07
Índices OFICIAL
Igual ao índice de um livro: o banco vai direto na linha certa, sem ler a tabela inteira. Na fonte, a comparação é a mesma: "an alphabetic index at the end of the book". Sinal: uma busca ou uma lista específica demora muito. No técnico: índice no banco.
- 03 / 07
Cache DICA NOSSA
O que todo mundo pede toda hora, como o cardápio, fica guardado perto e nem chega no banco. Sinal: a mesma informação é pedida milhares de vezes (cardápio, perfil, preço). No técnico: cache (ex.: Redis).
- 04 / 07
Cópias de leitura OFICIAL
O banco principal cuida do que muda, e as cópias atendem quem só quer olhar. Na fonte: "You can only read data from a Read Replica." Sinal: muita gente lendo, pouca gente gravando, e o banco sofre. No técnico: réplicas de leitura.
- 05 / 07
Filas OFICIAL
Igual à senha da padaria: o pedido entra na hora, e o trabalho pesado fica pra depois, sem travar o balcão. Na fonte: "persist and process Messages in the background". Sinal: mandar e-mail, gerar PDF ou processar foto trava a tela de quem usa. No técnico: fila e trabalho em segundo plano.
- 06 / 07
Limite por cliente DICA NOSSA
Pra um só não derrubar todo mundo: quem passa do limite recebe o aviso 429 (Too Many Requests) e espera um pouco. Sinal: um cliente ou um robô faz pedidos demais, e todo mundo sente. No técnico: limite de requisições (rate limit).
- 07 / 07
Dividir os dados OFICIAL
Separar os dados em gavetas diferentes. É o último degrau, nunca o primeiro. Na fonte: "These benefits will normally be worthwhile only when a table would otherwise be very large." Sinal: uma tabela gigante, ou o banco principal não dá mais conta de gravar. No técnico: particionamento e sharding.
Cuidado: O maior erro é começar por este degrau "porque um dia vai ter milhões de usuários".
Pergunta pronta pra colar na tua IA "Analise meu app e me diga em qual destes 7 degraus eu estou, qual é o próximo e qual sinal você viu para dizer isso."