Sobre el proyecto
Kratos es un framework ligero de Go orientado a la creación de microservicios nativos de la nube. Expone API pequeñas y explícitas que cubren transporte, middleware, registro, configuración, logging, codificación y generación de código, para que el código de la aplicación pueda concentrarse en la lógica de negocio.
Capacidades clave descritas en el README:
- Desarrollo API-first usando Protobuf, con código HTTP y gRPC generado.
- Una capa de transporte unificada que maneja servidores HTTP y gRPC.
- Middleware componible para aspectos como recuperación, logging, validación, tracing, métricas y autenticación.
- Componentes de registro, configuración y codificación conectables, lo que permite intercambiar distintos backends.
- Logging construido sobre la biblioteca estándar log/slog, con extensiones de OpenTelemetry disponibles mediante paquetes contrib.
- Manejo consistente de metadatos, errores, validación, OpenAPI y flujos de generación de código.
- Un ecosistema contrib para integraciones opcionales, incluidos registros, almacenes de configuración, middleware, codificaciones y observabilidad.
Para empezar se requiere Go 1.25 o posterior, protoc y protoc-gen-go. La CLI se instala con go install; después, kratos new crea el andamiaje de un servicio, kratos proto add/client/server genera artefactos de Protobuf y kratos run inicia el servicio. Un ejemplo mínimo muestra cómo crear servidores HTTP y gRPC, registrarlos con kratos.New y llamar a app.Run.
El proyecto señala que v3 reduce las dependencias del núcleo y hace explícito el comportamiento que antes era implícito, y remite a los lectores a una guía de migración de v2 a v3 antes de actualizar servicios en producción. Otros recursos incluyen documentación oficial, un repositorio de ejemplos, una estructura de proyecto recomendada y una guía de contribución de la comunidad. Las tareas de desarrollo se ejecutan mediante make test y make lint. Los canales de la comunidad incluyen documentación, un grupo de WeChat, Discord y GitHub Discussions. Los problemas de seguridad se gestionan de forma privada mediante una dirección de correo dedicada. El proyecto tiene licencia MIT y reconoce la influencia de go-kit, go-micro, go-cloud, go-zero y beego.
Comments
0 Rating appears after 10 ratings
Sign in to join the discussion.