一个轻量的 Go 微服务框架,提供统一的 HTTP/gRPC 传输层、中间件和基于 Protobuf 的代码生成。
zeromicro/go-zero
带有内置稳定性保障机制的 Go Web 与 RPC 微服务框架,配套 goctl 代码生成工具。
- Star
- 33,398
- Fork
- 4,333
- 未关闭 Issue
- 255
- 最近提交
- 前天
这是什么?
go-zero 是一个用 Go 编写的 Web 与 RPC 框架,面向需要在高并发下保持稳定的微服务系统。框架内置了链式超时控制、并发控制、限流、自适应熔断和自适应过载保护等常见工程能力,其中不少无需额外配置即可生效。
配套的命令行工具 goctl 可以根据简洁的 .api 描述文件或 .proto 文件生成 Go 服务端代码,包括 handler、logic、服务上下文和带类型的请求响应结构体。同一份 .api 文件还能生成 Java、Dart、TypeScript、JavaScript、Kotlin、iOS 和 Android 的客户端代码。
项目还提供面向 AI 编程助手的开发工作流指引,并包含一个 MCP 适配器,可让支持 Model Context Protocol 的工具调用 goctl 生成代码。框架核心与 net/http 完全兼容。
核心功能
- 01内置熔断、限流、过载保护和超时控制
- 02goctl 可根据 .api 或 .proto 规范生成 Go 服务代码
- 03自动校验客户端请求参数
- 04同一份 .api 文件可生成多种语言的客户端代码
- 05与 net/http 完全兼容,内置中间件可集成到其他框架
适用场景
- 构建需要内置稳定性保护的高流量 REST API
- 在微服务架构中开发相互调用的多个 RPC 服务
- 基于同一份 API 规范生成 Go 服务骨架及移动端、Web 端客户端 SDK
快速上手
- 1
使用 Go 安装 goctl
go install github.com/zeromicro/go-zero/tools/goctl@latest - 2
创建 API 文件 greet.api(由 goctl 生成模板)
goctl api -o greet.api - 3
从 API 文件生成 Go 服务端代码
goctl api go -api greet.api -dir greet - 4
运行生成的服务
cd greet && go mod tidy && go run greet.go -f etc/greet-api.yaml
收录于专题
标签
常见问题
- go-zero 是什么?
- 带有内置稳定性保障机制的 Go Web 与 RPC 微服务框架,配套 goctl 代码生成工具。 go-zero 是一个用 Go 编写的 Web 与 RPC 框架,面向需要在高并发下保持稳定的微服务系统。框架内置了链式超时控制、并发控制、限流、自适应熔断和自适应过载保护等常见工程能力,其中不少无需额外配置即可生效。
- go-zero 可以免费使用吗?用的什么许可证?
- go-zero 以 MIT 许可证开源。用于商业产品前,请先确认许可证条款。
- go-zero 还在维护吗?
- 活跃维护中。go-zero 最近一次提交是在 2026年10月21日。
- go-zero 适合用来做什么?
- 构建需要内置稳定性保护的高流量 REST API 在微服务架构中开发相互调用的多个 RPC 服务 基于同一份 API 规范生成 Go 服务骨架及移动端、Web 端客户端 SDK
- go-zero 怎么安装和运行?
- 使用 Go 安装 goctl: go install github.com/zeromicro/go-zero/tools/goctl@latest 创建 API 文件 greet.api(由 goctl 生成模板): goctl api -o greet.api 从 API 文件生成 Go 服务端代码: goctl api go -api greet.api -dir greet 运行生成的服务: cd greet && go mod tidy && go run greet.go -f etc/greet-api.yaml
- 在哪里获取 go-zero?
- 源代码和安装说明在 GitHub 上:https://github.com/zeromicro/go-zero
概要由 AI 根据项目 README 生成;GitHub 数据每日更新。
相关项目
跨语言的 RPC 框架,通过代码生成器为多种编程语言构建可互通的客户端与服务端。
Apache Dubbo 的 Java 实现,一个用于构建 RPC 通信与微服务的框架。
基于 Go 语言的高性能 HTTP Web 框架,API 风格类似 Martini,适用于 REST API、Web 应用和微服务。
基于 Spring 平台的 Java 框架,用于快速构建可投入生产的应用和服务,配置极简。
基于 Istio 和 Envoy 的云原生 API 网关,提供面向大模型与 MCP 服务的 AI 网关能力。