Framework leve em Go para criar microsserviços cloud-native, com transports HTTP e gRPC unificados, middleware e geração de código baseada em Protobuf.
zeromicro/go-zero
Framework de microserviços web e RPC em Go, com recursos integrados de resiliência e um gerador de código goctl orientado por especificações .api.
- Estrelas
- 33,398
- Forks
- 4,333
- Issues abertas
- 255
- Último commit
- anteontem
O que é?
go-zero é um framework web e RPC escrito em Go, projetado para sistemas de microserviços que precisam manter a estabilidade sob alta concorrência. Ele reúne práticas comuns de engenharia, como controle encadeado de timeouts, controle de concorrência, limitação de taxa, circuit breaking adaptativo e redução adaptativa de carga, muitas das quais funcionam sem configuração adicional.
O framework vem acompanhado da ferramenta de linha de comando goctl. Os desenvolvedores descrevem APIs usando uma sintaxe .api simples ou arquivos .proto, e o goctl gera a estrutura do servidor em Go, incluindo handlers, lógica, contexto de serviço e structs tipadas para requisições e respostas. A partir do mesmo arquivo .api, também pode gerar código cliente para Java, Dart, TypeScript, JavaScript, Kotlin, iOS e Android.
O projeto também oferece orientações para assistentes de IA em fluxos de desenvolvimento, incluindo um adaptador MCP que disponibiliza a geração do goctl para ferramentas compatíveis com o Model Context Protocol. O framework principal é totalmente compatível com net/http.
Recursos principais
- 01Circuit breaking, limitação de taxa, redução de carga e controle de timeouts integrados
- 02goctl gera código de serviço em Go a partir de especificações .api ou .proto
- 03Validação automática dos parâmetros das requisições
- 04Geração de código cliente para várias linguagens a partir de um único arquivo .api
- 05Totalmente compatível com net/http e integrado a middlewares existentes
Casos de uso
- Criar APIs REST de alto tráfego que precisam de proteção de resiliência integrada
- Desenvolver vários serviços RPC que se comunicam em uma arquitetura de microserviços
- Gerar código boilerplate e SDKs cliente para Go e para front-ends móveis ou web a partir de uma única especificação de API
Início rápido
- 1
Instale goctl com Go
go install github.com/zeromicro/go-zero/tools/goctl@latest - 2
Crie o arquivo de API greet.api (o goctl gera o modelo)
goctl api -o greet.api - 3
Gere o código do servidor Go a partir do arquivo de API
goctl api go -api greet.api -dir greet - 4
Execute o serviço gerado
cd greet && go mod tidy && go run greet.go -f etc/greet-api.yaml
Em coleções
Tópicos
Perguntas frequentes
- O que é go-zero?
- Framework de microserviços web e RPC em Go, com recursos integrados de resiliência e um gerador de código goctl orientado por especificações .api. go-zero é um framework web e RPC escrito em Go, projetado para sistemas de microserviços que precisam manter a estabilidade sob alta concorrência. Ele reúne práticas comuns de engenharia, como controle encadeado de timeouts, controle de concorrência, limitação de taxa, circuit breaking adaptativo e redução adaptativa de carga, muitas das quais funcionam sem configuração adicional.
- go-zero é gratuito? Qual é a licença?
- go-zero é open source sob a licença MIT. Confira os termos da licença antes de usá-lo em produtos comerciais.
- go-zero ainda é mantido?
- Manutenção ativa. O último commit de go-zero foi em 21 de out. de 2026.
- Para que posso usar go-zero?
- Criar APIs REST de alto tráfego que precisam de proteção de resiliência integrada Desenvolver vários serviços RPC que se comunicam em uma arquitetura de microserviços Gerar código boilerplate e SDKs cliente para Go e para front-ends móveis ou web a partir de uma única especificação de API
- Como instalar go-zero?
- Instale goctl com Go: go install github.com/zeromicro/go-zero/tools/goctl@latest Crie o arquivo de API greet.api (o goctl gera o modelo): goctl api -o greet.api Gere o código do servidor Go a partir do arquivo de API: goctl api go -api greet.api -dir greet Execute o serviço gerado: cd greet && go mod tidy && go run greet.go -f etc/greet-api.yaml
- Onde consigo go-zero?
- O código-fonte e as instruções de instalação estão no GitHub: https://github.com/zeromicro/go-zero
Resumo gerado por IA a partir do README do projeto. As estatísticas do GitHub são atualizadas diariamente.
Projetos relacionados
Framework RPC independente de linguagem, com um gerador de código que cria clientes e servidores interoperáveis em diversas linguagens de programação.
Implementação Java do Apache Dubbo, um framework de RPC e microsserviços para comunicação, descoberta e gerenciamento de tráfego entre serviços.
Framework web HTTP de alto desempenho para Go, com uma API semelhante à do Martini, feito para REST APIs, aplicações web e microsserviços.
Framework Java opinativo para criar aplicações e serviços Spring prontos para produção, com configuração mínima.
Gateway de API cloud-native baseado em Istio e Envoy, com recursos de gateway de IA para provedores de LLM e hospedagem de servidores MCP.