O desafio
Um interruptor nacional
Um QR Code na tela do BBB não gera tráfego, gera um interruptor. Milhões de pessoas com o celular na mão no mesmo segundo, e ninguém sabia o tamanho do pico.
O custo de errar no horário do programa
Cair no horário do programa seria notícia ruim em escala nacional. E não era apenas tráfego: era tráfego que precisava de resposta imediata.
O plano
Cache em todas as camadas possíveis
API em TypeScript com cache em todas as camadas possíveis. Quando o caminho crítico não pode esperar fila, o jeito é torná-lo barato.
Capacidade planejada para 60 mil req/s
Capacidade planejada para 60 mil requisições por segundo. Tem quem chame de exagero. Eu chamo de plano.
O resultado
47 mil req/s no pico
Pico real de 47 mil requisições por segundo, 840 mil acessos no primeiro dia, nenhum segundo fora do ar.
Primeiro patrocinador do BBB sem downtime
Fomos o primeiro patrocinador do BBB sem downtime no horário do programa. Todos os anteriores tinham caído.
E depois?
A arquitetura virou referência para campanhas de alto tráfego. Meses depois, o mesmo padrão foi reaproveitado em outros projetos com picos similares.
Meses de teste de carga não evitaram o susto dos primeiros segundos. O sistema não foi desenhado para fingir que o susto não viria. Foi desenhado para aguentá-lo de pé.