Repolode
go-kratos

go-kratos/kratos

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.

Estrelas
25,984
Forks
4,182
Issues abertas
121
Último commit
anteontem

O que é?

Kratos é um framework em Go para criar microsserviços cloud-native. Ele oferece APIs pequenas e explícitas para transport, middleware, registro de serviços, configuração, logging, encoding e geração de código, permitindo que os desenvolvedores dediquem mais tempo à lógica de negócio.

O framework prioriza a API: os serviços são definidos em Protobuf, e a CLI do Kratos gera código de servidor e cliente HTTP e gRPC a partir dessas definições. HTTP e gRPC compartilham uma camada de transport, e o middleware cobre recuperação de falhas, logging, validação, tracing, métricas e autenticação. Os componentes de registro, configuração e encoding são pluggable.

O projeto inclui uma CLI para criar a estrutura inicial de novos serviços, e um ecossistema contrib oferece integrações opcionais, como registries, armazenamentos de configuração e observabilidade baseada em OpenTelemetry. O logging usa o pacote log/slog da biblioteca padrão.

Recursos principais

  • 01Fluxo de trabalho baseado em Protobuf que gera código HTTP e gRPC.
  • 02Camada de transport unificada para HTTP e gRPC.
  • 03Middleware combinável para recuperação de falhas, logging, validação, tracing, métricas e autenticação.
  • 04Componentes pluggable de registro, configuração e encoding.
  • 05Logging com log/slog da biblioteca padrão e extensões de OpenTelemetry nos pacotes contrib.

Casos de uso

  • Criar um conjunto de microsserviços em Go que se comuniquem por gRPC e HTTP.
  • Definir APIs em Protobuf e gerar stubs de servidor e cliente para uma equipe que trabalha com Go.
  • Criar a estrutura inicial de um novo serviço em Go com um layout de projeto padrão.

Início rápido

  1. 1

    Instale Go toolchain, protoc e protoc-gen-go conforme indicado nos requisitos

  2. 2

    Instale o Kratos CLI

    go install github.com/go-kratos/kratos/cmd/kratos/v3@latest
  3. 3

    Crie um novo serviço chamado helloworld

    kratos new helloworld
  4. 4

    Acesse o projeto, baixe as dependências e execute o serviço

    cd helloworld && go mod tidy && kratos run

Antes de usar

  • Para gerar código, é necessário instalar protoc e protoc-gen-go separadamente.
  • É necessário ter Go 1.25 ou posterior.

Em coleções

Tópicos

Perguntas frequentes

O que é kratos?
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. Kratos é um framework em Go para criar microsserviços cloud-native. Ele oferece APIs pequenas e explícitas para transport, middleware, registro de serviços, configuração, logging, encoding e geração de código, permitindo que os desenvolvedores dediquem mais tempo à lógica de negócio.
kratos é gratuito? Qual é a licença?
kratos é open source sob a licença MIT. Confira os termos da licença antes de usá-lo em produtos comerciais.
kratos ainda é mantido?
Manutenção ativa. O último commit de kratos foi em 21 de out. de 2026.
Para que posso usar kratos?
Criar um conjunto de microsserviços em Go que se comuniquem por gRPC e HTTP. Definir APIs em Protobuf e gerar stubs de servidor e cliente para uma equipe que trabalha com Go. Criar a estrutura inicial de um novo serviço em Go com um layout de projeto padrão.
Como instalar kratos?
Instale Go toolchain, protoc e protoc-gen-go conforme indicado nos requisitos Instale o Kratos CLI: go install github.com/go-kratos/kratos/cmd/kratos/v3@latest Crie um novo serviço chamado helloworld: kratos new helloworld Acesse o projeto, baixe as dependências e execute o serviço: cd helloworld && go mod tidy && kratos run
Onde consigo kratos?
O código-fonte e as instruções de instalação estão no GitHub: https://github.com/go-kratos/kratos

Resumo gerado por IA a partir do README do projeto. As estatísticas do GitHub são atualizadas diariamente.

Projetos relacionados