模块化的 Go 应用框架,内置 HTTP 服务、ORM、缓存、日志和链路追踪,可整体使用也可按组件取用。
gofr-dev/gofr
一个面向微服务开发的 Go 框架,内置数据库支持与可观测性能力。
- Star
- 20,817
- Fork
- 1,790
- 未关闭 Issue
- 203
- 最近提交
- 前天
这是什么?
GoFr 是一个用于构建微服务和 REST API 的 Go 框架。它提供简洁的 handler 接口、默认的 REST 规范以及开箱即用的配置管理,减少大量样板代码。日志、链路追踪和指标会自动接入,项目重点面向 Kubernetes 部署。
除 HTTP 处理器外,GoFr 还支持 gRPC、带熔断机制的 HTTP 服务调用、Pub/Sub、定时任务、数据库迁移、各数据源的健康检查、WebSocket、Swagger 文档渲染以及抽象化的文件系统接口,并支持认证和自定义中间件。
框架还提供 LLM 集成,可注册兼容 OpenAI 接口的模型,并能将只读 handler 以 Model Context Protocol 工具的形式暴露给 AI 代理。运行需要 Go 1.26 或更高版本。
核心功能
- 01简洁的 handler 接口,直接返回结果和错误
- 02默认集成日志、链路追踪和指标
- 03支持 gRPC 与 HTTP 并存
- 04内置认证中间件,并支持自定义中间件
- 05提供 Pub/Sub、定时任务和数据库迁移
- 06集成 LLM,并可通过 MCP 服务器将 handler 暴露给 AI 代理
适用场景
- 在 Go 中构建部署于 Kubernetes 的微服务
- 创建自带可观测性的 REST API
- 为 Go 后端添加 LLM 调用或 AI 代理工具访问能力
快速上手
- 1
安装 Go 1.26 或更高版本
- 2
获取 GoFr 模块
go get -u gofr.dev/pkg/gofr - 3
将示例 greet 处理程序保存为 main.go 并运行
go run main.go - 4
在浏览器中访问 localhost:8000/greet
使用前须知
- 需要 Go 1.26 或更高版本,版本要求较新。
收录于专题
标签
常见问题
- gofr 是什么?
- 一个面向微服务开发的 Go 框架,内置数据库支持与可观测性能力。 GoFr 是一个用于构建微服务和 REST API 的 Go 框架。它提供简洁的 handler 接口、默认的 REST 规范以及开箱即用的配置管理,减少大量样板代码。日志、链路追踪和指标会自动接入,项目重点面向 Kubernetes 部署。
- gofr 可以免费使用吗?用的什么许可证?
- gofr 以 Apache-2.0 许可证开源。用于商业产品前,请先确认许可证条款。
- gofr 还在维护吗?
- 活跃维护中。gofr 最近一次提交是在 2026年11月6日。
- gofr 适合用来做什么?
- 在 Go 中构建部署于 Kubernetes 的微服务 创建自带可观测性的 REST API 为 Go 后端添加 LLM 调用或 AI 代理工具访问能力
- gofr 怎么安装和运行?
- 安装 Go 1.26 或更高版本 获取 GoFr 模块: go get -u gofr.dev/pkg/gofr 将示例 greet 处理程序保存为 main.go 并运行: go run main.go 在浏览器中访问 localhost:8000/greet
- 在哪里获取 gofr?
- 源代码和安装说明在 GitHub 上:https://github.com/gofr-dev/gofr
概要由 AI 根据项目 README 生成;GitHub 数据每日更新。
相关项目
基于 Go 标准库 net/http 构建的高性能、极简 Web 框架。
一个从 Django 分叉而来的 Python Web 框架,强调类型化、Postgres 专用 ORM,并内置面向 AI 编码代理的工具。
基于 Go 语言的高性能 HTTP Web 框架,API 风格类似 Martini,适用于 REST API、Web 应用和微服务。
基于 Spring 平台的 Java 框架,用于快速构建可投入生产的应用和服务,配置极简。
一个快速、易用、类 Flask 路由风格的 C++ 微框架,用于构建 HTTP 和 WebSocket 服务。