tRPC-Go:腾讯高性能 RPC 框架快速入门与服务开发指南
一、项目官方信息
| 项目 | 信息 |
|---|---|
| GitHub 仓库 | trpc-group/trpc-go |
| 中文文档 | trpc.group |
| 开源协议 | Apache-2.0 |
| 主要语言 | Go |
| Star 数 | 约 2.3k |
tRPC-Go 是腾讯 tRPC 框架的 Go 语言实现,是一个可插拔、高性能的 RPC 框架。它支持单进程启动多服务、多端口监听,组件可插拔,默认提供基础功能的实现,可由第三方替换。

二、官方图片
上图为 tRPC-Go 仓库在 GitHub 上的社交预览图。
三、环境要求
- Go 1.21+;
- protoc 与 trpc 命令行工具(生成代码模板);
- Go Modules。
四、开发步骤
1. 安装命令行工具
go install trpc.group/trpc-go/trpc-cmdline/trpc@latest
2. 定义 IDL(proto)
syntax = "proto3";
package helloworld;
service Greeter {
rpc SayHello (HelloRequest) returns (HelloReply) {}
}
message HelloRequest { string name = 1; }
message HelloReply { string message = 1; }
3. 生成脚手架代码
trpc create --proto helloworld.proto
4. 实现服务
func (s *GreeterServer) SayHello(ctx context.Context, req *pb.HelloRequest) (*pb.HelloReply, error) {
return &pb.HelloReply{Message: "Hello " + req.Name}, nil
}
5. 启动服务
go run .
五、使用方法
- 多服务单进程:一个进程可启动多个服务、监听多个地址;
- 可插拔组件:日志、监控、负载均衡等可替换;
- 协议扩展:默认 trpc、http,通过 codec 接口扩展;
- Mock 测试:用 gomock/mockgen 生成 mock;
- CLI 脚手架:trpc 命令行生成模板。
六、常见问题 FAQ
-
tRPC-Go 是什么? 腾讯 tRPC 的 Go 实现,高性能可插拔 RPC 框架。
-
怎么生成代码? 安装 trpc 命令行工具,用
trpc create --proto xxx.proto。 -
支持哪些协议? 默认 trpc、http,可通过 codec 扩展第三方协议。
-
能在一个进程起多个服务吗? 支持,可监听多个地址。
-
怎么做单元测试? 用 gomock/mockgen 生成 mock 代码。
-
中文文档在哪? trpc.group。
七、跳转链接
- GitHub 仓库:trpc-group/trpc-go
- 中文文档:trpc.group
- 命令行工具:trpc-cmdline