Como escalonar um framework
Quem diria que, em apenas três dias de vida, o GoA estaria começando a se afastar de um protótipo para algo que realmente poderia ser a chave para o futuro de muitos desenvolvedores. Como assim, em três dias? Pois é, a v0.5 do GoA é a resposta para um problema que eu estava há tempos tentando resolver: como entregar um framework que seja simples, performático, e, acima de tudo, que escale de forma natural, sem precisar quebrar a cabeça com as complicações do Node.js ou do próprio Next.js. E isso tudo sem esquecer o quão leve é o Go. Não é mágica. É GoA.
Nessa versão, finalmente o GoA deixa para trás aquela vibe "beta" e começa a abraçar um modelo mais maduro de concorrência e otimização. A v0.5 vem com a promessa de não só ser rápida, mas extremamente eficiente, com a introdução de um sistema de roteadores para APIs – um componente que estava faltando desde a primeira versão.
A grande mudança aqui não está só em mais funcionalidades ou alguma feature de marketing. Está na arquitetura interna, que foi desenhada para lidar com uma carga massiva de requisições simultâneas sem perder performance. E quando eu digo massiva, não é exagero: fizemos benchmarks que mostram a performance do GoA em comparação com o Next.js v15, e os números falam por si só.
O Que Está Por Trás da v0.5: Concorrência na Veia
Se você conhece um pouco do GoA, sabe que o objetivo é ser ágil, mas a v0.5 leva isso a outro nível. Antes, o GoA era um simples servidor de páginas, um monolito até certo ponto, que fazia o básico – atender páginas. Mas o que realmente me incomodava era a falta de uma arquitetura escalável para o backend. Agora, com o novo modelo concorrente, GoA pode lidar com APIs e páginas ao mesmo tempo, numa boa.
A adição de um sistema de cache multinível foi um pulo gigantesco. Agora, além do cache de metadados, temos um sistema que pode armazenar templates renderizados e até resultados de geração de sites estáticos (SSG) de forma inteligente. Esse cache, por exemplo, pode reduzir o tempo de renderização de 15ms para 0.5ms – e isso quando a página já foi renderizada uma vez. Dá para sentir a diferença quando você começa a fazer requisições em massa, é uma sensação de "voo" muito mais suave. Isso sem contar no tempo de "cold start", que agora foi reduzido de 1.2s para 800ms. A melhora foi incrível.
Eu não vou entrar em uma explicação técnica densa de como o worker pool funciona aqui, porque isso vai ficar para outra hora. Mas o essencial é que agora o GoA consegue tratar múltiplas tarefas em paralelo, sem deixar o servidor sobrecarregado. Isso é tudo o que você precisa saber sobre concorrência para entender que, com a v0.5, o framework passou a ser assíncrono e performático. Não há mais bloqueios que impactem o tempo de resposta.
A Estabilidade e os Resultados
Agora vamos pro que interessa de verdade: os benchmarks. Teste de carga, cenário extremo, vida real. Eu rodei o GoA v0.5 com 1.017 conexões simultâneas (não tenho uma supermáquina pra chegar nas 150k, então usamos o que é possível, mas ainda assim foi um teste pesado). A ideia era simples: ver quem aguenta de verdade sob pressão real.
Do outro lado da arena, coloquei o Next.js v15 pra fazer a mesma coisa. Spoiler: não terminou bonito pra ele.

Vamos falar dos números com calma:
O Next.js v15 capengou. A latência média ficou em 688ms, ou seja, quase 0,7 segundos pra responder cada requisição. Isso é a média — teve pico de mais de 1.2 segundos. A taxa de requisições por segundo ficou por volta de 1.338 RPS. No total, o Next.js conseguiu 440 mil requisições em 5 minutos, com cerca de 5,27GB de dados transferidos. A transferência por segundo foi de 16MB/s, e 88% das requisições ficaram dentro de um desvio padrão bem alto. Ou seja, completamente instável sob pressão.
Agora o GoA v0.5 Alpha? Foi outro nível. Ele lidou com 1.017 conexões simultâneas como se estivesse servindo um blog pessoal. Latência média de apenas 22ms. A taxa de requisições por segundo? 41.788 RPS. Sim, você leu certo de novo. Mais de 41 mil requisições por segundo sustentadas ao longo de 5 minutos. No final, ele entregou 13,6 milhões de requisições e empurrou 47GB de dados com 147MB/s de throughput.
Isso deixa claro: o GoA é concorrente nativo. Go como linguagem foi feito pra isso. Enquanto o Next.js (e o Node.js por baixo) se enrola com event loop e gargalos de IO, o Go distribui carga com goroutines e lida com múltiplas requisições como se fosse nada. Literalmente, é o tipo de arquitetura que você quer quando precisa escalar de verdade.
E essa performance não vem sozinha. O GoA v0.5 traz uma arquitetura nova pra APIs — um sistema de roteamento específico pra isso, separado das páginas e sem reaproveitar lógica que não escala. A API é tratada com prioridade, de forma assíncrona, direta e previsível. Nada de gambiarra pra fingir que estático e dinâmico são a mesma coisa.
GoA Está se Tornando Real
Lá no início, a proposta do GoA era simples: pegar o que o Next.js fazia e fazer algo melhor. Claro, você podia até argumentar que o Next.js tem muitos recursos, e que a comunidade dele é gigantesca. Mas o GoA não é sobre competir com o Next.js. É sobre escolher um caminho diferente: usar a simplicidade do Go para entregar algo muito mais rápido e escalável, com um código que não vai te deixar maluca tentando entender o que está acontecendo.
Eu estou aqui, a três dias, colocando minha energia nesse projeto e cada linha de código que eu escrevo tem um propósito claro. O GoA v0.5 não é apenas uma atualização de um protótipo. Ele está se tornando um framework real, que pode ser usado em produção, sem medo de falhar. Ele já está sendo usado em cenários de testes com altos volumes de tráfego e tem se mostrado robusto.
Se você está cansada de frameworks pesados, complicados e que não entregam o desempenho prometido, o GoA v0.5 pode ser a solução. Eu mesma estou empolgada com as possibilidades, porque sei que cada nova linha de código escrita é um passo mais perto de algo realmente grande.
No fim das contas, GoA é isso: um projeto pessoal, que nasceu do zero e já está desafiando gigantes. E sim, mesmo na versão v0.5, ele já tem muito potencial. E, convenhamos, se em três dias já conseguimos isso, quem sabe o que vem pela frente?
Quem está comigo nessa jornada?