Repolode
go-kratos

go-kratos/kratos

Un framework ligero de Go para crear microservicios nativos de la nube con transportes HTTP y gRPC unificados, middleware y generación de código basada en Protobuf.

Estrellas
25,984
Forks
4,182
Issues abiertos
121
Último commit
anteayer

¿Qué es?

Kratos es un framework de Go para crear microservicios nativos de la nube. Ofrece API pequeñas y explícitas para transporte, middleware, registro de servicios, configuración, logging, codificación y generación de código, para que los desarrolladores puedan dedicar más tiempo a la lógica de negocio.

El framework prioriza las API: los servicios se definen en Protobuf y Kratos CLI genera código de servidor y cliente HTTP y gRPC a partir de esas definiciones. HTTP y gRPC comparten una misma capa de transporte, y el middleware cubre recuperación ante errores, logging, validación, trazas, métricas y autenticación. Los componentes de registro, configuración y codificación son intercambiables.

El proyecto incluye una CLI para crear la estructura inicial de servicios nuevos, y un ecosistema contrib ofrece integraciones opcionales, como registros, almacenes de configuración y observabilidad basada en OpenTelemetry. El logging se basa en el paquete log/slog de la biblioteca estándar.

Funciones clave

  • 01Flujo de trabajo centrado en Protobuf que genera código HTTP y gRPC.
  • 02Capa de transporte unificada que admite HTTP y gRPC.
  • 03Middleware componible para recuperación ante errores, logging, validación, trazas, métricas y autenticación.
  • 04Componentes intercambiables de registro, configuración y codificación.
  • 05Logging con log/slog de la biblioteca estándar y extensiones de OpenTelemetry en los paquetes contrib.

Casos de uso

  • Crear un conjunto de microservicios en Go que se comuniquen mediante gRPC y HTTP.
  • Definir API en Protobuf y generar stubs de servidor y cliente para un equipo de Go.
  • Crear la estructura inicial de un servicio nuevo en Go con una organización de proyecto estándar.

Inicio rápido

  1. 1

    Instala Go toolchain, protoc y protoc-gen-go tal como se indica en los requisitos

  2. 2

    Instala Kratos CLI

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

    Crea un nuevo servicio llamado helloworld

    kratos new helloworld
  4. 4

    Entra en el proyecto, descarga las dependencias y ejecuta el servicio

    cd helloworld && go mod tidy && kratos run

Antes de usarlo

  • Para generar código, es necesario instalar protoc y protoc-gen-go por separado.
  • Se requiere Go 1.25 o posterior.

En colecciones

Temas

Preguntas frecuentes

¿Qué es kratos?
Un framework ligero de Go para crear microservicios nativos de la nube con transportes HTTP y gRPC unificados, middleware y generación de código basada en Protobuf. Kratos es un framework de Go para crear microservicios nativos de la nube. Ofrece API pequeñas y explícitas para transporte, middleware, registro de servicios, configuración, logging, codificación y generación de código, para que los desarrolladores puedan dedicar más tiempo a la lógica de negocio.
¿kratos es gratuito? ¿Qué licencia tiene?
kratos es open source bajo la licencia MIT. Revisa los términos de la licencia antes de usarlo en productos comerciales.
¿kratos sigue mantenido?
Mantenimiento activo. El último commit de kratos fue el 21 oct 2026.
¿Para qué puedo usar kratos?
Crear un conjunto de microservicios en Go que se comuniquen mediante gRPC y HTTP. Definir API en Protobuf y generar stubs de servidor y cliente para un equipo de Go. Crear la estructura inicial de un servicio nuevo en Go con una organización de proyecto estándar.
¿Cómo se instala kratos?
Instala Go toolchain, protoc y protoc-gen-go tal como se indica en los requisitos Instala Kratos CLI: go install github.com/go-kratos/kratos/cmd/kratos/v3@latest Crea un nuevo servicio llamado helloworld: kratos new helloworld Entra en el proyecto, descarga las dependencias y ejecuta el servicio: cd helloworld && go mod tidy && kratos run
¿Dónde consigo kratos?
El código fuente y las instrucciones de instalación están en GitHub: https://github.com/go-kratos/kratos

Resumen generado por IA a partir del README del proyecto. Las estadísticas de GitHub se actualizan a diario.

Proyectos relacionados